nethackfandomcom-20200214-history
Source:NetHack 3.3.0/monst.c
Below is the full text to monst.c from the source code of NetHack 3.3.0. To link to a particular line, write [[NetHack 3.3.0/monst.c#line123]], for example. Warning! This is the source code from an old release. For the latest release, see Source code 1. /* SCCS Id: @(#)monst.c 3.3 99/01/04 */ 2. /* Copyright © Stichting Mathematisch Centrum, Amsterdam, 1985. */ 3. /* NetHack may be freely redistributed. See license for details. */ 4. 5. #include "config.h" 6. #include "permonst.h" 7. #include "monsym.h" 8. #include "dungeon.h" /* prerequisite for eshk,vault,epri */ 9. #include "eshk.h" 10. #include "vault.h" 11. #include "epri.h" 12. 13. #define NO_ATTK {0,0,0,0} 14. 15. #define WT_ELF 800 16. #define WT_DRAGON 4500 17. 18. #ifdef C 19. #undef C 20. #endif 21. #ifdef TEXTCOLOR 22. #include "color.h" 23. #define C(color) color 24. #define HI_DOMESTIC CLR_WHITE /* use for player + friendlies */ 25. #define HI_LORD CLR_MAGENTA 26. #else 27. #define C(color) 28. #endif 29. 30. void NDECL(monst_init); 31. /* 32. * Entry Format: (from permonst.h) 33. * 34. * name, symbol (S_* defines), 35. * difficulty level, move rate, armor class, magic resistance, 36. * alignment, creation/geno flags (G_* defines), 37. * 6 * attack structs ( type , damage-type, # dice, # sides ), 38. * weight (WT_* defines), nutritional value, extension length, 39. * sounds made (MS_* defines), physical size (MZ_* defines), 40. * resistances, resistances conferred (both MR_* defines), 41. * 3 * flag bitmaps (M1_*, M2_*, and M3_* defines respectively) 42. * symbol color (C(x) macro) 43. */ 44. #define MON(nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,col) \ 45. {nam,sym,lvl,gen,atk,siz,mr1,mr2,flg1,flg2,flg3,C(col)} 46. /* LVL() and SIZ() collect several fields to cut down on # of args for MON() */ 47. #define LVL(lvl,mov,ac,mr,aln) lvl,mov,ac,mr,aln 48. #define SIZ(wt,nut,pxl,snd,siz) wt,nut,pxl,snd,siz 49. /* ATTK() and A() are to avoid braces and commas within args to MON() */ 50. #define ATTK(at,ad,n,d) {at,ad,n,d} 51. #define A(a1,a2,a3,a4,a5,a6) {a1,a2,a3,a4,a5,a6} 52. 53. 54. /* 55. * Rule #1: monsters of a given class are contiguous in the 56. * mons[] array. 57. * 58. * Rule #2: monsters of a given class are presented in ascending 59. * order of strength. 60. * 61. * Rule #3: monster frequency is included in the geno mask; 62. * the frequency can be from 0 to 7. 0's will also 63. * be skipped during generation. 64. * 65. * Rule #4: monster subclasses (e.g. giants) should be kept 66. * together, unless it violates Rule 2. NOGEN monsters 67. * won't violate Rule 2. 68. * 69. * Guidelines for color assignment: 70. * 71. * * Use the same color for all `growth stages' of a monster (ex. 72. * little dog/big dog, baby naga/full-grown naga. 73. * 74. * * Use colors given in names wherever possible. If the class has `real' 75. * members with strong color associations, use those. 76. * 77. * * Favor `cool' colors for cold-resistent monsters, `warm' ones for 78. * fire-resistent ones. 79. * 80. * * Try to reserve purple (magenta) for powerful `ruler' monsters (queen 81. * bee, kobold lord, &c.). 82. * 83. * * Subject to all these constraints, try to use color to make as many 84. * distinctions as the / command (that is, within a monster letter 85. * distinct names should map to distinct colors). 86. * 87. * The aim in assigning colors is to be consistent enough so a player can 88. * become `intuitive' about them, deducing some or all of these rules 89. * unconsciously. Use your common sense. 90. */ 91. 92. #ifndef SPLITMON_2 93. NEARDATA struct permonst mons[] = { 94. /* 95. * ants 96. */ 97. MON("giant ant", S_ANT, 98. LVL(2, 18, 3, 0, 0), (G_GENO|G_SGROUP|3), 99. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 100. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 101. SIZ(10, 10, 0, MS_SILENT, MZ_TINY), 0, 0, 102. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 103. M2_HOSTILE, 0, CLR_BROWN), 104. MON("killer bee", S_ANT, 105. LVL(1, 18, -1, 0, 0), (G_GENO|G_LGROUP|2), 106. A(ATTK(AT_STNG, AD_DRST, 1, 3), 107. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 108. SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 109. M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_POIS, 110. M2_HOSTILE|M2_FEMALE, 0, CLR_YELLOW), 111. MON("soldier ant", S_ANT, 112. LVL(3, 18, 3, 0, 0), (G_GENO|G_SGROUP|2), 113. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_DRST, 3, 4), 114. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 115. SIZ(20, 5, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 116. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 117. M2_HOSTILE, 0, CLR_BLUE), 118. MON("fire ant", S_ANT, 119. LVL(3, 18, 3, 10, 0), (G_GENO|G_SGROUP|1), 120. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BITE, AD_FIRE, 2, 4), 121. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 122. SIZ(30, 10, 0, MS_SILENT, MZ_TINY), MR_FIRE, MR_FIRE, 123. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 124. M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED), 125. MON("giant beetle", S_ANT, 126. LVL(5, 6, 4, 0, 0), (G_GENO|3), 127. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 128. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 129. SIZ(10, 10, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON, 130. M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, 131. M2_HOSTILE, 0, CLR_BLACK), 132. MON("queen bee", S_ANT, 133. LVL(9, 24, -4, 0, 0), (G_GENO|G_NOGEN), 134. A(ATTK(AT_STNG, AD_DRST, 1, 8), 135. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 136. SIZ(1, 5, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 137. M1_ANIMAL|M1_FLY|M1_NOHANDS|M1_OVIPAROUS|M1_POIS, 138. M2_HOSTILE|M2_FEMALE|M2_PRINCE, 0, HI_LORD), 139. /* 140. * blobs 141. */ 142. MON("acid blob", S_BLOB, 143. LVL(1, 3, 8, 0, 0), (G_GENO|2), 144. A(ATTK(AT_NONE, AD_ACID, 1, 8), 145. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 146. SIZ(30, 10, 0, MS_SILENT, MZ_TINY), 147. MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, MR_STONE, 148. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 149. M1_MINDLESS|M1_ACID, 150. M2_WANDER|M2_NEUTER, 0, CLR_GREEN), 151. MON("quivering blob", S_BLOB, 152. LVL(5, 1, 8, 0, 0), (G_GENO|2), 153. A(ATTK(AT_TUCH, AD_PHYS, 1, 8), 154. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 155. SIZ(200, 100, 0, MS_SILENT, MZ_SMALL), 156. MR_SLEEP|MR_POISON, MR_POISON, 157. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 158. M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE), 159. MON("gelatinous cube", S_BLOB, 160. LVL(6, 6, 8, 0, 0), (G_GENO|2), 161. A(ATTK(AT_TUCH, AD_PLYS, 2, 4), ATTK(AT_NONE, AD_PLYS, 1, 4), 162. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 163. SIZ(600, 150, 0, MS_SILENT, MZ_LARGE), 164. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_ACID|MR_STONE, 165. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP, 166. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_OMNIVORE|M1_ACID, 167. M2_WANDER|M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN), 168. /* 169. * cockatrice 170. */ 171. MON("chickatrice", S_COCKATRICE, 172. LVL(4, 4, 8, 30, 0), (G_GENO|G_SGROUP|1), 173. A(ATTK(AT_BITE, AD_PHYS, 1, 2), ATTK(AT_TUCH, AD_STON, 0, 0), 174. ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 175. SIZ(10, 10, 0, MS_HISS, MZ_TINY), 176. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 177. M1_ANIMAL|M1_NOHANDS, M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 178. MON("cockatrice", S_COCKATRICE, 179. LVL(5, 6, 6, 30, 0), (G_GENO|5), 180. A(ATTK(AT_BITE, AD_PHYS, 1, 3), ATTK(AT_TUCH, AD_STON, 0, 0), 181. ATTK(AT_NONE, AD_STON, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 182. SIZ(30, 30, 0, MS_HISS, MZ_SMALL), 183. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 184. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS, M2_HOSTILE, M3_INFRAVISIBLE, 185. CLR_YELLOW), 186. MON("pyrolisk", S_COCKATRICE, 187. LVL(6, 6, 6, 30, 0), (G_GENO|1), 188. A(ATTK(AT_GAZE, AD_FIRE, 2, 6), NO_ATTK, 189. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 190. SIZ(30, 30, 0, MS_HISS, MZ_SMALL), 191. MR_POISON|MR_FIRE, MR_POISON|MR_FIRE, 192. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS, M2_HOSTILE, M3_INFRAVISIBLE, 193. CLR_RED), 194. /* 195. * dogs & other canines 196. */ 197. MON("jackal", S_DOG, 198. LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|3), 199. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 200. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 201. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 202. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 203. CLR_BROWN), 204. MON("fox", S_DOG, 205. LVL(0, 15, 7, 0, 0), (G_GENO|1), 206. A(ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, 207. NO_ATTK, NO_ATTK, NO_ATTK), 208. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 209. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 210. CLR_RED), 211. MON("coyote", S_DOG, 212. LVL(1, 12, 7, 0, 0), (G_GENO|G_SGROUP|1), 213. A(ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, 214. NO_ATTK, NO_ATTK, NO_ATTK), 215. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 216. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 217. CLR_BROWN), 218. MON("werejackal", S_DOG, 219. LVL(2, 12, 7, 10, -7), (G_NOGEN|G_NOCORPSE), 220. A(ATTK(AT_BITE, AD_WERE, 1, 4), NO_ATTK, NO_ATTK, 221. NO_ATTK, NO_ATTK, NO_ATTK), 222. SIZ(300, 250, 0, MS_BARK, MZ_SMALL), MR_POISON, 0, 223. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 224. M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 225. MON("little dog", S_DOG, 226. LVL(2, 18, 6, 0, 0), (G_GENO|1), 227. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 228. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 229. SIZ(150, 150, 0, MS_BARK, MZ_SMALL), 0, 0, 230. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, 231. HI_DOMESTIC), 232. MON("dog", S_DOG, 233. LVL(4, 16, 5, 0, 0), (G_GENO|1), 234. A(ATTK(AT_BITE, AD_PHYS, 1 ,6), 235. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 236. SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0, 237. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, 238. HI_DOMESTIC), 239. MON("large dog", S_DOG, 240. LVL(6, 15, 4, 0, 0), (G_GENO|1), 241. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 242. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 243. SIZ(800, 250, 0, MS_BARK, MZ_MEDIUM), 0, 0, 244. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 245. M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC), 246. MON("dingo", S_DOG, 247. LVL(4, 16, 5, 0, 0), (G_GENO|1), 248. A(ATTK(AT_BITE, AD_PHYS, 1 ,6), 249. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 250. SIZ(400, 200, 0, MS_BARK, MZ_MEDIUM), 0, 0, 251. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 252. CLR_YELLOW), 253. MON("wolf", S_DOG, 254. LVL(5, 12, 4, 0, 0), (G_GENO|G_SGROUP|2), 255. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 256. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 257. SIZ(500, 250, 0, MS_BARK, MZ_SMALL), 0, 0, 258. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 259. CLR_BROWN), 260. MON("werewolf", S_DOG, 261. LVL(5, 12, 4, 20, -7), (G_NOGEN|G_NOCORPSE), 262. A(ATTK(AT_BITE, AD_WERE, 2, 6), 263. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 264. SIZ(500, 250, 0, MS_BARK, MZ_MEDIUM), MR_POISON, 0, 265. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 266. M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 267. MON("warg", S_DOG, 268. LVL(7, 12, 4, 0, -5), (G_GENO|G_SGROUP|2), 269. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 270. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 271. SIZ(850, 350, 0, MS_BARK, MZ_MEDIUM), 0, 0, 272. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 273. CLR_BROWN), 274. MON("winter wolf cub", S_DOG, 275. LVL(5, 12, 4, 0, -5), (G_NOHELL|G_GENO|G_SGROUP|2), 276. A(ATTK(AT_BITE, AD_PHYS, 1, 8), ATTK(AT_BREA, AD_COLD, 1, 8), 277. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 278. SIZ(250, 200, 0, MS_BARK, MZ_SMALL), MR_COLD, MR_COLD, 279. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_CYAN), 280. MON("winter wolf", S_DOG, 281. LVL(7, 12, 4, 20, 0), (G_NOHELL|G_GENO|1), 282. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_COLD, 2, 6), 283. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 284. SIZ(700, 300, 0, MS_BARK, MZ_LARGE), MR_COLD, MR_COLD, 285. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 286. M2_HOSTILE|M2_STRONG, 0, CLR_CYAN), 287. MON("hell hound pup", S_DOG, 288. LVL(7, 12, 4, 20, -5), (G_HELL|G_GENO|G_SGROUP|1), 289. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_BREA, AD_FIRE, 2, 6), 290. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 291. SIZ(200, 200, 0, MS_BARK, MZ_SMALL), MR_FIRE, MR_FIRE, 292. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 293. CLR_RED), 294. MON("hell hound", S_DOG, 295. LVL(12, 14, 2, 20, 0), (G_HELL|G_GENO|1), 296. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BREA, AD_FIRE, 3, 6), 297. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 298. SIZ(600, 300, 0, MS_BARK, MZ_MEDIUM), MR_FIRE, MR_FIRE, 299. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 300. M3_INFRAVISIBLE, CLR_RED), 301. #ifdef CHARON 302. MON("Cerberus", S_DOG, 303. LVL(12, 10, 2, 20, -7), (G_HELL|G_UNIQ|1), 304. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_BITE, AD_PHYS, 3, 6), 305. ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 306. SIZ(1000, 350, 0, MS_BARK, MZ_LARGE), MR_FIRE, MR_FIRE, 307. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 308. M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_MALE, M3_INFRAVISIBLE, 309. CLR_RED), 310. #endif 311. /* 312. * eyes 313. */ 314. MON("gas spore", S_EYE, 315. LVL(1, 3, 10, 0, 0), (G_NOCORPSE|G_GENO|1), 316. A(ATTK(AT_BOOM, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, 317. NO_ATTK, NO_ATTK, NO_ATTK), 318. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0, 319. M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 320. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 321. MON("floating eye", S_EYE, 322. LVL(2, 1, 9, 10, 0), (G_GENO|5), 323. A(ATTK(AT_NONE, AD_PLYS, 0,70), 324. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 325. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), 0, 0, 326. M1_FLY|M1_AMPHIBIOUS|M1_NOLIMBS|M1_NOHEAD|M1_NOTAKE, 327. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE), 328. MON("freezing sphere", S_EYE, 329. LVL(6, 13, 4, 0, 0), (G_NOHELL|G_GENO|2), 330. A(ATTK(AT_EXPL, AD_COLD, 4, 6), 331. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 332. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, MR_COLD, 333. M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 334. M2_HOSTILE|M2_NEUTER, 0, CLR_WHITE), 335. MON("flaming sphere", S_EYE, 336. LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2), 337. A(ATTK(AT_EXPL, AD_FIRE, 4, 6), NO_ATTK, NO_ATTK, 338. NO_ATTK, NO_ATTK, NO_ATTK), 339. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_FIRE, MR_FIRE, 340. M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 341. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED), 342. MON("shocking sphere", S_EYE, 343. LVL(6, 13, 4, 0, 0), (G_NOCORPSE|G_GENO|2), 344. A(ATTK(AT_EXPL, AD_ELEC, 4, 6), NO_ATTK, NO_ATTK, 345. NO_ATTK, NO_ATTK, NO_ATTK), 346. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_ELEC, MR_ELEC, 347. M1_FLY|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 348. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, HI_ZAP), 349. #if 0 /* not yet implemented */ 350. MON("beholder", S_EYE, 351. LVL(6, 3, 4, 0, -10), (G_GENO|2), 352. A(ATTK(AT_GAZE, AD_SLOW, 0, 0), ATTK(AT_GAZE, AD_SLEE, 2,25), 353. ATTK(AT_GAZE, AD_DISN, 0, 0), ATTK(AT_GAZE, AD_STON, 0, 0), 354. ATTK(AT_GAZE, AD_CNCL, 2, 4), ATTK(AT_BITE, AD_PHYS, 2, 4)), 355. SIZ(10, 10, 0, MS_SILENT, MZ_SMALL), MR_COLD, 0, 356. M1_FLY|M1_BREATHLESS|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 357. M2_NOPOLY|M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BROWN), 358. #endif 359. /* 360. * felines 361. */ 362. MON("kitten", S_FELINE, 363. LVL(2, 18, 6, 0, 0), (G_GENO|1), 364. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 365. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 366. SIZ(150, 150, 0, MS_MEW, MZ_SMALL), 0, 0, 367. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 368. M2_WANDER|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC), 369. MON("housecat", S_FELINE, 370. LVL(4, 16, 5, 0, 0), (G_GENO|1), 371. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 372. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 373. SIZ(200, 200, 0, MS_MEW, MZ_SMALL), 0, 0, 374. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_DOMESTIC, M3_INFRAVISIBLE, 375. HI_DOMESTIC), 376. MON("jaguar", S_FELINE, 377. LVL(4, 15, 6, 0, 0), (G_GENO|2), 378. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 379. ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 380. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 381. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 382. CLR_BROWN), 383. MON("lynx", S_FELINE, 384. LVL(5, 15, 6, 0, 0), (G_GENO|1), 385. A(ATTK(AT_CLAW, AD_COLD, 1, 4), ATTK(AT_CLAW, AD_COLD, 1, 4), 386. ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK), 387. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 388. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE, 389. CLR_CYAN), 390. MON("panther", S_FELINE, 391. LVL(5, 15, 6, 0, 0), (G_GENO|1), 392. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 393. ATTK(AT_BITE, AD_PHYS, 1, 10), NO_ATTK, NO_ATTK, NO_ATTK), 394. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 395. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE,M2_HOSTILE, M3_INFRAVISIBLE, 396. CLR_BLACK), 397. MON("large cat", S_FELINE, 398. LVL(6, 15, 4, 0, 0), (G_GENO|1), 399. A(ATTK(AT_BITE, AD_PHYS, 2, 4), 400. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 401. SIZ(250, 250, 0, MS_MEW, MZ_SMALL), 0, 0, 402. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 403. M2_STRONG|M2_DOMESTIC, M3_INFRAVISIBLE, HI_DOMESTIC), 404. MON("tiger", S_FELINE, 405. LVL(6, 12, 6, 0, 0), (G_GENO|2), 406. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 407. ATTK(AT_BITE, AD_PHYS, 1,10), NO_ATTK, NO_ATTK, NO_ATTK), 408. SIZ(600, 300, 0, MS_GROWL, MZ_LARGE), 0, 0, 409. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 410. CLR_YELLOW), 411. /* 412. * gremlins and gargoyles 413. */ 414. MON("gremlin", S_GREMLIN, 415. LVL(5, 12, 2, 25, -9), (G_GENO|2), 416. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 417. ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_CURS, 0, 0), 418. NO_ATTK, NO_ATTK), 419. SIZ(100, 20, 0, MS_LAUGH, MZ_SMALL), MR_POISON, MR_POISON, 420. M1_SWIM|M1_HUMANOID|M1_POIS, M2_STALK, M3_INFRAVISIBLE, CLR_GREEN), 421. MON("gargoyle", S_GREMLIN, 422. LVL(6, 10, -4, 0, -9), (G_GENO|2), 423. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), 424. ATTK(AT_BITE, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 425. SIZ(1000, 200, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE, 426. M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS, 427. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 428. MON("winged gargoyle", S_GREMLIN, 429. LVL(9, 15, -2, 0, -12), (G_GENO|1), 430. A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6), 431. ATTK(AT_BITE, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK), 432. SIZ(1200, 300, 0, MS_GRUNT, MZ_HUMAN), MR_STONE, MR_STONE, 433. M1_FLY|M1_HUMANOID|M1_THICK_HIDE|M1_BREATHLESS|M1_OVIPAROUS, 434. M2_LORD|M2_HOSTILE|M2_STRONG|M2_MAGIC, 0, HI_LORD), 435. /* 436. * humanoids 437. */ 438. MON("hobbit", S_HUMANOID, 439. LVL(1, 9, 10, 0, 6), (G_GENO|2), 440. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 441. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 442. SIZ(500, 200, 0, MS_HUMANOID, MZ_SMALL), 0, 0, 443. M1_HUMANOID|M1_OMNIVORE, M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, 444. CLR_GREEN), 445. MON("dwarf", S_HUMANOID, 446. LVL(2, 6, 10, 10, 4), (G_GENO|3), 447. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 448. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 449. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 450. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 451. M2_DWARF|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 452. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 453. MON("bugbear", S_HUMANOID, 454. LVL(3, 9, 5, 0, -6), (G_GENO|1), 455. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 456. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 457. SIZ(1250, 250, 0, MS_GROWL, MZ_LARGE), 0, 0, 458. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_COLLECT, 459. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 460. MON("dwarf lord", S_HUMANOID, 461. LVL(4, 6, 10, 10, 5), (G_GENO|2), 462. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 463. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 464. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 465. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 466. M2_DWARF|M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 467. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 468. MON("dwarf king", S_HUMANOID, 469. LVL(6, 6, 10, 20, 6), (G_GENO|1), 470. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 471. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 472. SIZ(900, 300, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 473. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 474. M2_DWARF|M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 475. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 476. MON("mind flayer", S_HUMANOID, 477. LVL(9, 12, 5, 90, -8), (G_GENO|1), 478. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_TENT, AD_DRIN, 2, 1), 479. ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1), 480. ATTK(AT_TENT, AD_DRIN, 2, 1), NO_ATTK), 481. SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0, 482. M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE, 483. M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT, 484. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA), 485. MON("master mind flayer", S_HUMANOID, 486. LVL(13, 12, 0, 90, -8), (G_GENO|1), 487. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TENT, AD_DRIN, 2, 1), 488. ATTK(AT_TENT, AD_DRIN, 2, 1), ATTK(AT_TENT, AD_DRIN, 2, 1), 489. ATTK(AT_TENT, AD_DRIN, 2, 1), NO_ATTK), 490. SIZ(1450, 400, 0, MS_HISS, MZ_HUMAN), 0, 0, 491. M1_HUMANOID|M1_FLY|M1_SEE_INVIS|M1_OMNIVORE, 492. M2_HOSTILE|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_COLLECT, 493. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA), 494. /* 495. * imps & other minor demons/devils 496. */ 497. MON("manes", S_IMP, 498. LVL(1, 3, 7, 0, -7), (G_GENO|G_LGROUP|G_NOCORPSE|1), 499. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 500. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 501. SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_SLEEP|MR_POISON, 0, 502. M1_POIS, M2_HOSTILE|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 503. MON("homunculus", S_IMP, 504. LVL(2, 12, 6, 10, -7), (G_GENO|2), 505. A(ATTK(AT_BITE, AD_SLEE, 1, 3), 506. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 507. SIZ(60, 100, 0, MS_SILENT, MZ_TINY), 508. MR_SLEEP|MR_POISON, MR_SLEEP|MR_POISON, 509. M1_FLY|M1_POIS, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN), 510. MON("imp", S_IMP, 511. LVL(3, 12, 2, 20, -7), (G_GENO|1), 512. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 513. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 514. SIZ(20, 10, 0, MS_CUSS, MZ_TINY), 0, 0, 515. M1_REGEN, M2_WANDER|M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 516. MON("lemure", S_IMP, 517. LVL(3, 3, 7, 0, -7), (G_HELL|G_GENO|G_LGROUP|G_NOCORPSE|1), 518. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), 519. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 520. SIZ(150, 100, 0, MS_SILENT, MZ_MEDIUM), 521. MR_SLEEP|MR_POISON, MR_SLEEP, M1_POIS|M1_REGEN, 522. M2_HOSTILE|M2_WANDER|M2_STALK|M2_NEUTER, 523. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 524. MON("quasit", S_IMP, 525. LVL(3, 15, 2, 20, -7), (G_GENO|2), 526. A(ATTK(AT_CLAW, AD_DRDX, 1, 2), ATTK(AT_CLAW, AD_DRDX, 1, 2), 527. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 528. SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 529. M1_REGEN, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 530. MON("tengu", S_IMP, 531. LVL(6, 13, 5, 30, 7), (G_GENO|3), 532. A(ATTK(AT_BITE, AD_PHYS, 1, 7), 533. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 534. SIZ(300, 200, 0, MS_SQAWK, MZ_SMALL), MR_POISON, MR_POISON, 535. M1_TPORT|M1_TPORT_CNTRL, M2_STALK, M3_INFRAVISIBLE|M3_INFRAVISION, 536. CLR_CYAN), 537. /* 538. * jellies 539. */ 540. MON("blue jelly", S_JELLY, 541. LVL(4, 0, 8, 10, 0), (G_GENO|2), 542. A(ATTK(AT_NONE, AD_COLD, 0, 6), 543. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 544. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), 545. MR_COLD|MR_POISON, MR_COLD|MR_POISON, 546. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS 547. |M1_NOTAKE, 548. M2_HOSTILE|M2_NEUTER, 0, CLR_BLUE), 549. MON("spotted jelly", S_JELLY, 550. LVL(5, 0, 8, 10, 0), (G_GENO|1), 551. A(ATTK(AT_NONE, AD_ACID, 0, 6), 552. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 553. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0, 554. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 555. M1_MINDLESS|M1_ACID|M1_NOTAKE, 556. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 557. MON("ochre jelly", S_JELLY, 558. LVL(6, 3, 8, 20, 0), (G_GENO|2), 559. A(ATTK(AT_ENGL, AD_ACID, 3, 6), ATTK(AT_NONE, AD_ACID, 3, 6), 560. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 561. SIZ(50, 20, 0, MS_SILENT, MZ_MEDIUM), MR_ACID|MR_STONE, 0, 562. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 563. M1_MINDLESS|M1_ACID|M1_NOTAKE, 564. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 565. /* 566. * kobolds 567. */ 568. MON("kobold", S_KOBOLD, 569. LVL(0, 6, 10, 0, -2), (G_GENO|1), 570. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 571. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 572. SIZ(400, 100, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 573. M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 574. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 575. MON("large kobold", S_KOBOLD, 576. LVL(1, 6, 10, 0, -3), (G_GENO|1), 577. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 578. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 579. SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 580. M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_COLLECT, 581. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 582. MON("kobold lord", S_KOBOLD, 583. LVL(2, 6, 10, 0, -4), (G_GENO|1), 584. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 585. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 586. SIZ(500, 200, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 587. M1_HUMANOID|M1_POIS|M1_OMNIVORE, 588. M2_HOSTILE|M2_LORD|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, 589. HI_LORD), 590. MON("kobold shaman", S_KOBOLD, 591. LVL(2, 6, 6, 10, -4), (G_GENO|1), 592. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 593. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 594. SIZ(450, 150, 0, MS_ORC, MZ_SMALL), MR_POISON, 0, 595. M1_HUMANOID|M1_POIS|M1_OMNIVORE, M2_HOSTILE|M2_MAGIC, 596. M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP), 597. /* 598. * leprechauns 599. */ 600. MON("leprechaun", S_LEPRECHAUN, 601. LVL(5, 15, 8, 20, 0), (G_GENO|4), 602. A(ATTK(AT_CLAW, AD_SGLD, 1, 2), 603. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 604. SIZ(60, 30, 0, MS_LAUGH, MZ_TINY), 0, 0, 605. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_GREEDY, M3_INFRAVISIBLE, CLR_GREEN), 606. /* 607. * mimics 608. */ 609. MON("small mimic", S_MIMIC, 610. LVL(7, 3, 7, 0, 0), (G_GENO|2), 611. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), 612. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 613. SIZ(300, 200, 0, MS_SILENT, MZ_MEDIUM), MR_ACID, 0, 614. M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 615. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 616. M2_HOSTILE, 0, CLR_BROWN), 617. MON("large mimic", S_MIMIC, 618. LVL(8, 3, 7, 10, 0), (G_GENO|1), 619. A(ATTK(AT_CLAW, AD_STCK, 3, 4), 620. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 621. SIZ(600, 400, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0, 622. M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 623. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 624. M2_HOSTILE|M2_STRONG, 0, CLR_RED), 625. MON("giant mimic", S_MIMIC, 626. LVL(9, 3, 7, 20, 0), (G_GENO|1), 627. A(ATTK(AT_CLAW, AD_STCK, 3, 6), ATTK(AT_CLAW, AD_STCK, 3, 6), 628. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 629. SIZ(800, 500, 0, MS_SILENT, MZ_LARGE), MR_ACID, 0, 630. M1_CLING|M1_BREATHLESS|M1_AMORPHOUS|M1_HIDE|M1_ANIMAL|M1_NOEYES| 631. M1_NOHEAD|M1_NOLIMBS|M1_THICK_HIDE|M1_CARNIVORE, 632. M2_HOSTILE|M2_STRONG, 0, HI_LORD), 633. /* 634. * nymphs 635. */ 636. MON("wood nymph", S_NYMPH, 637. LVL(3, 12, 9, 20, 0), (G_GENO|2), 638. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 639. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 640. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 641. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 642. CLR_GREEN), 643. MON("water nymph", S_NYMPH, 644. LVL(3, 12, 9, 20, 0), (G_GENO|2), 645. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 646. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 647. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 648. M1_HUMANOID|M1_TPORT|M1_SWIM, 649. M2_HOSTILE|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, CLR_BLUE), 650. MON("mountain nymph", S_NYMPH, 651. LVL(3, 12, 9, 20, 0), (G_GENO|2), 652. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_CLAW, AD_SEDU, 0, 0), 653. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 654. SIZ(600, 300, 0, MS_SEDUCE, MZ_HUMAN), 0, 0, 655. M1_HUMANOID|M1_TPORT, M2_HOSTILE|M2_FEMALE|M2_COLLECT, 656. M3_INFRAVISIBLE, CLR_BROWN), 657. /* 658. * orcs 659. */ 660. MON("goblin", S_ORC, 661. LVL(0, 6, 10, 0, -3), (G_GENO|2), 662. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 663. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 664. SIZ(400, 100, 0, MS_ORC, MZ_SMALL), 0, 0, 665. M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_COLLECT, 666. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 667. MON("hobgoblin", S_ORC, 668. LVL(1, 9, 10, 0, -4), (G_GENO|2), 669. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 670. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 671. SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, 672. M1_HUMANOID|M1_OMNIVORE, M2_ORC|M2_STRONG|M2_COLLECT, 673. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 674. /* plain "orc" for zombie corpses only; not created at random 675. */ 676. MON("orc", S_ORC, 677. LVL(1, 9, 10, 0, -3), (G_GENO|G_NOGEN|G_LGROUP), 678. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 679. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 680. SIZ(850, 150, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 681. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 682. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 683. MON("hill orc", S_ORC, 684. LVL(2, 9, 10, 0, -4), (G_GENO|G_LGROUP|2), 685. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 686. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 687. SIZ(1000, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 688. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 689. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW), 690. MON("Mordor orc", S_ORC, 691. LVL(3, 5, 10, 0, -5), (G_GENO|G_LGROUP|1), 692. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 693. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 694. SIZ(1200, 200, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 695. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 696. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 697. MON("Uruk-hai", S_ORC, 698. LVL(3, 7, 10, 0, -4), (G_GENO|G_LGROUP|1), 699. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 700. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 701. SIZ(1300, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 702. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 703. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLACK), 704. MON("orc shaman", S_ORC, 705. LVL(3, 9, 5, 10, -5), (G_GENO|1), 706. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 707. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 708. SIZ(1000, 300, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 709. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_MAGIC, 710. M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP), 711. MON("orc-captain", S_ORC, 712. LVL(5, 5, 10, 0, -5), (G_GENO|1), 713. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 714. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 715. SIZ(1350, 350, 0, MS_ORC, MZ_HUMAN), 0, 0, M1_HUMANOID|M1_OMNIVORE, 716. M2_ORC|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 717. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 718. /* 719. * piercers 720. */ 721. MON("rock piercer", S_PIERCER, 722. LVL(3, 1, 3, 0, 0), (G_GENO|4), 723. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 724. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 725. SIZ(200, 200, 0, MS_SILENT, MZ_SMALL), 0, 0, 726. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 727. M2_HOSTILE, 0, CLR_GRAY), 728. MON("iron piercer", S_PIERCER, 729. LVL(5, 1, 0, 0, 0), (G_GENO|2), 730. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 731. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 732. SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 733. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 734. M2_HOSTILE, 0, CLR_CYAN), 735. MON("glass piercer", S_PIERCER, 736. LVL(7, 1, 0, 0, 0), (G_GENO|1), 737. A(ATTK(AT_BITE, AD_PHYS, 4, 6), NO_ATTK, NO_ATTK, 738. NO_ATTK, NO_ATTK, NO_ATTK), 739. SIZ(400, 300, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 740. M1_CLING|M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 741. M2_HOSTILE, 0, CLR_WHITE), 742. /* 743. * quadrupeds 744. */ 745. MON("rothe", S_QUADRUPED, 746. LVL(2, 9, 7, 0, 0), (G_GENO|G_SGROUP|4), 747. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 1, 3), 748. ATTK(AT_BITE, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 749. SIZ(400, 100, 0, MS_SILENT, MZ_LARGE), 0, 0, 750. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 751. CLR_BROWN), 752. MON("mumak", S_QUADRUPED, 753. LVL(5, 9, 0, 0, -2), (G_GENO|1), 754. A(ATTK(AT_BUTT, AD_PHYS, 4,12), ATTK(AT_BITE, AD_PHYS, 2, 6), 755. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 756. SIZ(2500, 500, 0, MS_ROAR, MZ_LARGE), 0, 0, 757. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 758. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY), 759. MON("leocrotta", S_QUADRUPED, 760. LVL(6, 18, 4, 10, 0), (G_GENO|2), 761. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_BITE, AD_PHYS, 2, 6), 762. ATTK(AT_CLAW, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 763. SIZ(1200, 500, 0, MS_IMITATE, MZ_LARGE), 0, 0, 764. M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, M2_HOSTILE|M2_STRONG, 765. M3_INFRAVISIBLE, CLR_RED), 766. MON("wumpus", S_QUADRUPED, 767. LVL(8, 3, 2, 10, 0), (G_GENO|1), 768. A(ATTK(AT_BITE, AD_PHYS, 3, 6), 769. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 770. SIZ(2500, 500, 0, MS_BURBLE, MZ_LARGE), 0, 0, 771. M1_CLING|M1_ANIMAL|M1_NOHANDS|M1_OMNIVORE, 772. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_CYAN), 773. MON("titanothere", S_QUADRUPED, 774. LVL(12, 12, 6, 0, 0), (G_GENO|2), 775. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), 776. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 777. SIZ(2650, 650, 0, MS_SILENT, MZ_LARGE), 0, 0, 778. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 779. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY), 780. MON("baluchitherium", S_QUADRUPED, 781. LVL(14, 12, 5, 0, 0), (G_GENO|2), 782. A(ATTK(AT_CLAW, AD_PHYS, 5, 4), ATTK(AT_CLAW, AD_PHYS, 5, 4), 783. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 784. SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0, 785. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 786. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_GRAY), 787. MON("mastodon", S_QUADRUPED, 788. LVL(20, 12, 5, 0, 0), (G_GENO|1), 789. A(ATTK(AT_BUTT, AD_PHYS, 4, 8), ATTK(AT_BUTT, AD_PHYS, 4, 8), 790. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 791. SIZ(3800, 800, 0, MS_SILENT, MZ_LARGE), 0, 0, 792. M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS|M1_HERBIVORE, 793. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BLACK), 794. /* 795. * rodents 796. */ 797. MON("sewer rat", S_RODENT, 798. LVL(0, 12, 7, 0, 0), (G_GENO|G_SGROUP|1), 799. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 800. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 801. SIZ(20, 12, 0, MS_SQEEK, MZ_TINY), 0, 0, 802. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 803. CLR_BROWN), 804. MON("giant rat", S_RODENT, 805. LVL(1, 10, 7, 0, 0), (G_GENO|G_SGROUP|2), 806. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 807. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 808. SIZ(30, 30, 0, MS_SQEEK, MZ_TINY), 0, 0, 809. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 810. CLR_BROWN), 811. MON("rabid rat", S_RODENT, 812. LVL(2, 12, 6, 0, 0), (G_GENO|1), 813. A(ATTK(AT_BITE, AD_DRCO, 2, 4), 814. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 815. SIZ(30, 5, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0, 816. M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_CARNIVORE, M2_HOSTILE, M3_INFRAVISIBLE, 817. CLR_BROWN), 818. MON("wererat", S_RODENT, 819. LVL(2, 12, 6, 10, -7), (G_NOGEN|G_NOCORPSE), 820. A(ATTK(AT_BITE, AD_WERE, 1, 4), 821. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 822. SIZ(40, 30, 0, MS_SQEEK, MZ_TINY), MR_POISON, 0, 823. M1_NOHANDS|M1_POIS|M1_REGEN|M1_CARNIVORE, 824. M2_NOPOLY|M2_WERE|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 825. MON("rock mole", S_RODENT, 826. LVL(3, 3, 0, 20, 0), (G_GENO|2), 827. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 828. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 829. SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 830. M1_TUNNEL|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, 831. M2_HOSTILE|M2_GREEDY|M2_JEWELS|M2_COLLECT, M3_INFRAVISIBLE, CLR_GRAY), 832. MON("woodchuck", S_RODENT, 833. LVL(3, 3, 0, 20, 0), (G_NOGEN|G_GENO), 834. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 835. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 836. SIZ(30, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 837. M1_TUNNEL/*LOGGING*/|M1_ANIMAL|M1_NOHANDS|M1_SWIM, 838. /* In reality, they tunnel instead of cutting lumber. Oh, well. */ 839. M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BROWN), 840. /* 841. * spiders & scorpions 842. */ 843. MON("cave spider", S_SPIDER, 844. LVL(1, 12, 3, 0, 0), (G_GENO|G_SGROUP|2), 845. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 846. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 847. SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 848. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 849. M2_HOSTILE, 0, CLR_GRAY), 850. MON("centipede", S_SPIDER, 851. LVL(2, 4, 3, 0, 0), (G_GENO|1), 852. A(ATTK(AT_BITE, AD_DRST, 1, 3), NO_ATTK, NO_ATTK, 853. NO_ATTK, NO_ATTK, NO_ATTK), 854. SIZ(50, 50, 0, MS_SILENT, MZ_TINY), MR_POISON, MR_POISON, 855. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_CARNIVORE, 856. M2_HOSTILE, 0, CLR_YELLOW), 857. MON("giant spider", S_SPIDER, 858. LVL(5, 15, 4, 0, 0), (G_GENO|1), 859. A(ATTK(AT_BITE, AD_DRST, 2, 4), 860. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 861. SIZ(100, 100, 0, MS_SILENT, MZ_LARGE), MR_POISON, MR_POISON, 862. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 863. M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA), 864. MON("scorpion", S_SPIDER, 865. LVL(5, 15, 3, 0, 0), (G_GENO|2), 866. A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), 867. ATTK(AT_STNG, AD_DRST, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 868. SIZ(50, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 869. M1_CONCEAL|M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 870. M2_HOSTILE, 0, CLR_RED), 871. /* 872. * trappers, lurkers, &c 873. */ 874. MON("lurker above", S_TRAPPER, 875. LVL(10, 3, 3, 0, 0), (G_GENO|2), 876. A(ATTK(AT_ENGL, AD_DGST, 1, 8), 877. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 878. SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0, 879. M1_HIDE|M1_FLY|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE, 880. M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GRAY), 881. MON("trapper", S_TRAPPER, 882. LVL(12, 3, 3, 0, 0), (G_GENO|2), 883. A(ATTK(AT_ENGL, AD_DGST, 1,10), 884. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 885. SIZ(800, 350, 0, MS_SILENT, MZ_HUGE), 0, 0, 886. M1_HIDE|M1_ANIMAL|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_CARNIVORE, 887. M2_HOSTILE|M2_STALK|M2_STRONG, 0, CLR_GREEN), 888. /* 889. * unicorns and horses 890. */ 891. MON("white unicorn", S_UNICORN, 892. LVL(4, 24, 2, 70, 7), (G_GENO|2), 893. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 894. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 895. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 896. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 897. M3_INFRAVISIBLE, CLR_WHITE), 898. MON("gray unicorn", S_UNICORN, 899. LVL(4, 24, 2, 70, 0), (G_GENO|1), 900. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 901. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 902. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 903. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 904. M3_INFRAVISIBLE, CLR_GRAY), 905. MON("black unicorn", S_UNICORN, 906. LVL(4, 24, 2, 70, -7), (G_GENO|1), 907. A(ATTK(AT_BUTT, AD_PHYS, 1,12), ATTK(AT_KICK, AD_PHYS, 1, 6), 908. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 909. SIZ(1300, 300, 0, MS_NEIGH, MZ_LARGE), MR_POISON, MR_POISON, 910. M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_JEWELS, 911. M3_INFRAVISIBLE, CLR_BLACK), 912. MON("pony", S_UNICORN, 913. LVL(3, 16, 6, 0, 0), (G_GENO|2), 914. A(ATTK(AT_KICK, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_PHYS, 1, 2), 915. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 916. SIZ(1300, 250, 0, MS_NEIGH, MZ_MEDIUM), 0, 0, 917. M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC, 918. M3_INFRAVISIBLE, CLR_BROWN), 919. MON("horse", S_UNICORN, 920. LVL(5, 20, 5, 0, 0), (G_GENO|2), 921. A(ATTK(AT_KICK, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_PHYS, 1, 3), 922. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 923. SIZ(1500, 300, 0, MS_NEIGH, MZ_LARGE), 0, 0, 924. M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC, 925. M3_INFRAVISIBLE, CLR_BROWN), 926. MON("warhorse", S_UNICORN, 927. LVL(7, 24, 4, 0, 0), (G_GENO|2), 928. A(ATTK(AT_KICK, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_PHYS, 1, 4), 929. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 930. SIZ(1800, 350, 0, MS_NEIGH, MZ_LARGE), 0, 0, 931. M1_ANIMAL|M1_NOHANDS|M1_HERBIVORE, M2_WANDER|M2_STRONG|M2_DOMESTIC, 932. M3_INFRAVISIBLE, CLR_BROWN), 933. /* 934. * vortices 935. */ 936. MON("fog cloud", S_VORTEX, 937. LVL(3, 1, 0, 0, 0), (G_GENO|G_NOCORPSE|2), 938. A(ATTK(AT_ENGL, AD_PHYS, 1, 6), 939. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 940. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 941. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 942. M1_AMORPHOUS|M1_UNSOLID, 943. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 944. MON("dust vortex", S_VORTEX, 945. LVL(4, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|2), 946. A(ATTK(AT_ENGL, AD_BLND, 2, 8), 947. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 948. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 949. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 950. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 951. MON("ice vortex", S_VORTEX, 952. LVL(5, 20, 2, 30, 0), (G_NOHELL|G_GENO|G_NOCORPSE|1), 953. A(ATTK(AT_ENGL, AD_COLD, 1, 6), 954. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 955. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 956. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 957. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS, 958. M2_HOSTILE|M2_NEUTER, 0, CLR_CYAN), 959. MON("energy vortex", S_VORTEX, 960. LVL(6, 20, 2, 30, 0), (G_GENO|G_NOCORPSE|1), 961. A(ATTK(AT_ENGL, AD_ELEC, 1, 6), ATTK(AT_ENGL, AD_DREN, 0, 0), 962. ATTK(AT_NONE, AD_ELEC, 0, 4), NO_ATTK, NO_ATTK, NO_ATTK), 963. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 964. MR_ELEC|MR_SLEEP|MR_DISINT|MR_POISON|MR_STONE, 0, 965. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 966. M1_UNSOLID, 967. M2_HOSTILE|M2_NEUTER, 0, HI_ZAP), 968. MON("steam vortex", S_VORTEX, 969. LVL(7, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|2), 970. A(ATTK(AT_ENGL, AD_FIRE, 1, 8), 971. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 972. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 973. MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0, 974. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 975. M1_UNSOLID, 976. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_BLUE), 977. MON("fire vortex", S_VORTEX, 978. LVL(8, 22, 2, 30, 0), (G_HELL|G_GENO|G_NOCORPSE|1), 979. A(ATTK(AT_ENGL, AD_FIRE, 1,10), ATTK(AT_NONE, AD_FIRE, 0, 4), 980. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 981. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), 982. MR_FIRE|MR_SLEEP|MR_POISON|MR_STONE, 0, 983. M1_FLY|M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS| 984. M1_UNSOLID, 985. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW), 986. /* 987. * worms 988. */ 989. MON("baby long worm", S_WORM, 990. LVL(8, 3, 5, 0, 0), G_GENO, 991. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 992. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 993. SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0, 994. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE|M1_NOTAKE, 995. M2_HOSTILE, 0, CLR_BROWN), 996. MON("baby purple worm", S_WORM, 997. LVL(8, 3, 5, 0, 0), G_GENO, 998. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 999. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1000. SIZ(600, 250, 0, MS_SILENT, MZ_LARGE), 0, 0, 1001. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_CARNIVORE, M2_HOSTILE, 1002. 0, CLR_MAGENTA), 1003. MON("long worm", S_WORM, 1004. LVL(8, 3, 5, 10, 0), (G_GENO|2), 1005. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1006. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1007. SIZ(1500, 500, 0, MS_SILENT, MZ_GIGANTIC), 0, 0, 1008. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE, 1009. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_BROWN), 1010. MON("purple worm", S_WORM, 1011. LVL(15, 9, 6, 20, 0), (G_GENO|2), 1012. A(ATTK(AT_BITE, AD_PHYS, 2, 8), ATTK(AT_ENGL, AD_DGST, 1,10), 1013. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1014. SIZ(2700, 700, 0, MS_SILENT, MZ_GIGANTIC), 0, 0, 1015. M1_ANIMAL|M1_SLITHY|M1_NOLIMBS|M1_OVIPAROUS|M1_CARNIVORE, 1016. M2_HOSTILE|M2_STRONG|M2_NASTY, 0, CLR_MAGENTA), 1017. /* 1018. * xan, &c 1019. */ 1020. MON("grid bug", S_XAN, 1021. LVL(0, 12, 9, 0, 0), (G_GENO|G_SGROUP|G_NOCORPSE|3), 1022. A(ATTK(AT_BITE, AD_ELEC, 1, 1), 1023. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1024. SIZ(15, 10, 0, MS_BUZZ, MZ_TINY), MR_ELEC|MR_POISON, 0, 1025. M1_ANIMAL, M2_HOSTILE, M3_INFRAVISIBLE, CLR_MAGENTA), 1026. MON("xan", S_XAN, 1027. LVL(7, 18, -4, 0, 0), (G_GENO|3), 1028. A(ATTK(AT_STNG, AD_LEGS, 1, 4), 1029. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1030. SIZ(300, 300, 0, MS_BUZZ, MZ_TINY), MR_POISON, MR_POISON, 1031. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_POIS, M2_HOSTILE, M3_INFRAVISIBLE, 1032. CLR_RED), 1033. /* 1034. * lights 1035. */ 1036. MON("yellow light", S_LIGHT, 1037. LVL(3, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|4), 1038. A(ATTK(AT_EXPL, AD_BLND, 10,20), 1039. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1040. SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 1041. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID| 1042. MR_STONE, 0, 1043. M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1044. M1_MINDLESS|M1_UNSOLID|M1_NOTAKE, 1045. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW), 1046. MON("black light", S_LIGHT, 1047. LVL(5, 15, 0, 0, 0), (G_NOCORPSE|G_GENO|2), 1048. A(ATTK(AT_EXPL, AD_HALU, 10,12), 1049. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1050. SIZ(0, 0, 0, MS_SILENT, MZ_SMALL), 1051. MR_FIRE|MR_COLD|MR_ELEC|MR_DISINT|MR_SLEEP|MR_POISON|MR_ACID| 1052. MR_STONE, 0, 1053. M1_FLY|M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1054. M1_MINDLESS|M1_UNSOLID|M1_SEE_INVIS|M1_NOTAKE, 1055. M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK), 1056. /* 1057. * zruty 1058. */ 1059. MON("zruty", S_ZRUTY, 1060. LVL(9, 8, 3, 0, 0), (G_GENO|2), 1061. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1062. ATTK(AT_BITE, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1063. SIZ(1200, 600, 0, MS_SILENT, MZ_LARGE), 0, 0, 1064. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1065. M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN), 1066. /* 1067. * Angels and other lawful minions 1068. */ 1069. MON("couatl", S_ANGEL, 1070. LVL(8, 10, 5, 30, 7), (G_NOHELL|G_SGROUP|G_NOCORPSE|1), 1071. A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_BITE, AD_PHYS, 1, 3), 1072. ATTK(AT_HUGS, AD_WRAP, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1073. SIZ(900, 400, 0, MS_HISS, MZ_LARGE), MR_POISON, 0, 1074. M1_FLY|M1_POIS, 1075. M2_MINION|M2_STALK|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 1076. CLR_GREEN), 1077. MON("Aleax", S_ANGEL, 1078. LVL(10, 8, 0, 30, 7), (G_NOHELL|G_NOCORPSE|1), 1079. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_WEAP, AD_PHYS, 1, 6), 1080. ATTK(AT_KICK, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1081. SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN), 1082. MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1083. M1_HUMANOID|M1_SEE_INVIS, 1084. M2_MINION|M2_STALK|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, 1085. CLR_YELLOW), 1086. MON("Angel", S_ANGEL, 1087. LVL(14, 10, -4, 55, 12), (G_NOHELL|G_NOCORPSE|1), 1088. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1089. ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6), 1090. NO_ATTK, NO_ATTK), 1091. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_CUSS, MZ_HUMAN), 1092. MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1093. M1_HUMANOID|M1_SEE_INVIS, 1094. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_COLLECT, 1095. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE), 1096. MON("ki-rin", S_ANGEL, 1097. LVL(16, 18, -5, 90, 15), (G_NOHELL|G_NOCORPSE|1), 1098. A(ATTK(AT_KICK, AD_PHYS, 2, 4), ATTK(AT_KICK, AD_BLND, 2, 4), 1099. ATTK(AT_BUTT, AD_PHYS, 3, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1100. SIZ(WT_HUMAN, 400, 0, MS_NEIGH, MZ_LARGE), 0, 0, 1101. M1_FLY|M1_SEE_INVIS, 1102. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD, 1103. M3_INFRAVISIBLE|M3_INFRAVISION, HI_GOLD), 1104. MON("Archon", S_ANGEL, 1105. LVL(19, 16, -6, 80, 15), (G_NOHELL|G_NOCORPSE|1), 1106. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_GAZE, AD_BLND, 2, 6), 1107. ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 1, 8), 1108. ATTK(AT_MAGC, AD_SPEL, 4, 6), NO_ATTK), 1109. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), 1110. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 1111. M1_FLY|M1_HUMANOID|M1_SEE_INVIS|M1_REGEN, 1112. M2_NOPOLY|M2_MINION|M2_STALK|M2_STRONG|M2_NASTY|M2_LORD| 1113. M2_COLLECT|M2_MAGIC, 1114. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1115. /* 1116. * Bats 1117. */ 1118. MON("bat", S_BAT, 1119. LVL(0, 22, 8, 0, 0), (G_GENO|G_SGROUP|1), 1120. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1121. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1122. SIZ(20, 20, 0, MS_SQEEK, MZ_TINY), 0, 0, 1123. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_WANDER, M3_INFRAVISIBLE, 1124. CLR_BROWN), 1125. MON("giant bat", S_BAT, 1126. LVL(2, 22, 7, 0, 0), (G_GENO|2), 1127. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 1128. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1129. SIZ(30, 30, 0, MS_SQEEK, MZ_MEDIUM), 0, 0, 1130. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 1131. M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_RED), 1132. MON("raven", S_BAT, 1133. LVL(4, 20, 6, 0, 0), (G_GENO|2), 1134. A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_BLND, 1, 6), 1135. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1136. SIZ(40, 20, 0, MS_SQAWK, MZ_MEDIUM), 0, 0, 1137. M1_FLY|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 1138. M2_WANDER|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK), 1139. MON("vampire bat", S_BAT, 1140. LVL(5, 20, 6, 0, 0), (G_GENO|2), 1141. A(ATTK(AT_BITE, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRST, 0, 0), 1142. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1143. SIZ(30, 20, 0, MS_SQEEK, MZ_TINY), MR_SLEEP|MR_POISON, 0, 1144. M1_FLY|M1_BREATHLESS|M1_ANIMAL|M1_NOHANDS|M1_POIS|M1_REGEN, 1145. M2_UNDEAD|M2_HOSTILE, M3_INFRAVISIBLE, CLR_BLACK), 1146. /* 1147. * Centaurs 1148. */ 1149. MON("plains centaur", S_CENTAUR, 1150. LVL(4, 18, 4, 0, 0), (G_GENO|1), 1151. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_KICK, AD_PHYS, 1, 6), 1152. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1153. SIZ(2500, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0, 1154. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT, 1155. M3_INFRAVISIBLE, CLR_BROWN), 1156. MON("forest centaur", S_CENTAUR, 1157. LVL(5, 18, 3, 10, -1), (G_GENO|1), 1158. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_KICK, AD_PHYS, 1, 6), 1159. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1160. SIZ(2550, 600, 0, MS_HUMANOID, MZ_LARGE), 0, 0, 1161. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT, 1162. M3_INFRAVISIBLE, CLR_GREEN), 1163. MON("mountain centaur", S_CENTAUR, 1164. LVL(6, 20, 2, 10, -3), (G_GENO|1), 1165. A(ATTK(AT_WEAP, AD_PHYS, 1,10), ATTK(AT_KICK, AD_PHYS, 1, 6), 1166. ATTK(AT_KICK, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1167. SIZ(2550, 500, 0, MS_HUMANOID, MZ_LARGE), 0, 0, 1168. M1_HUMANOID|M1_OMNIVORE, M2_STRONG|M2_GREEDY|M2_COLLECT, 1169. M3_INFRAVISIBLE, CLR_CYAN), 1170. /* 1171. * Dragons 1172. */ 1173. /* The order of the dragons is VERY IMPORTANT. Quite a few 1174. * pieces of code depend on gray being first and yellow being last. 1175. * The code also depends on the *order* being the same as that for 1176. * dragon scale mail and dragon scales in objects.c. Baby dragons 1177. * cannot confer intrinsics, to avoid polyself/egg abuse. 1178. * 1179. * As reptiles, dragons are cold-blooded and thus aren't seen 1180. * with infravision. Red dragons are the exception. 1181. */ 1182. MON("baby gray dragon", S_DRAGON, 1183. LVL(12, 9, 2, 10, 0), G_GENO, 1184. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1185. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1186. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1187. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1188. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, M3_INFRAVISIBLE, CLR_GRAY), 1189. MON("baby silver dragon", S_DRAGON, 1190. LVL(12, 9, 2, 40, 0), G_GENO, 1191. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1192. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1193. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1194. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1195. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BRIGHT_CYAN), 1196. #if 0 /* DEFERRED */ 1197. MON("baby shimmering dragon", S_DRAGON, 1198. LVL(12, 9, 2, 10, 0), G_GENO, 1199. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1200. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1201. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), 0, 0, 1202. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1203. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_CYAN), 1204. #endif 1205. MON("baby red dragon", S_DRAGON, 1206. LVL(12, 9, 2, 10, 0), G_GENO, 1207. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1208. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1209. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_FIRE, 0, 1210. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1211. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, M3_INFRAVISIBLE, CLR_RED), 1212. MON("baby white dragon", S_DRAGON, 1213. LVL(12, 9, 2, 10, 0), G_GENO, 1214. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1215. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1216. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_COLD, 0, 1217. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1218. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_WHITE), 1219. MON("baby orange dragon", S_DRAGON, 1220. LVL(12, 9, 2, 10, 0), G_GENO, 1221. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1222. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1223. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_SLEEP, 0, 1224. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1225. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_ORANGE), 1226. MON("baby black dragon", S_DRAGON, 1227. LVL(12, 9, 2, 10, 0), G_GENO, 1228. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1229. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1230. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_DISINT, 0, 1231. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1232. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLACK), 1233. MON("baby blue dragon", S_DRAGON, 1234. LVL(12, 9, 2, 10, 0), G_GENO, 1235. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1236. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1237. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ELEC, 0, 1238. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE, 1239. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_BLUE), 1240. MON("baby green dragon", S_DRAGON, 1241. LVL(12, 9, 2, 10, 0), G_GENO, 1242. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1243. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1244. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_POISON, 0, 1245. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_POIS, 1246. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_GREEN), 1247. MON("baby yellow dragon", S_DRAGON, 1248. LVL(12, 9, 2, 10, 0), G_GENO, 1249. A(ATTK(AT_BITE, AD_PHYS, 2, 6), 1250. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1251. SIZ(1500, 500, 0, MS_ROAR, MZ_HUGE), MR_ACID|MR_STONE, 0, 1252. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_ACID, 1253. M2_HOSTILE|M2_STRONG|M2_GREEDY|M2_JEWELS, 0, CLR_YELLOW), 1254. MON("gray dragon", S_DRAGON, 1255. LVL(15, 9, -1, 20, 4), (G_GENO|1), 1256. A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1257. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1258. NO_ATTK, NO_ATTK), 1259. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0, 1260. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1261. M1_CARNIVORE, 1262. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GRAY), 1263. MON("silver dragon", S_DRAGON, 1264. LVL(15, 9, -1, 95, 4), (G_GENO|1), 1265. A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1266. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1267. NO_ATTK, NO_ATTK), 1268. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, 0, 1269. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1270. M1_CARNIVORE, 1271. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1272. 0, CLR_BRIGHT_CYAN), 1273. #if 0 /* DEFERRED */ 1274. MON("shimmering dragon", S_DRAGON, 1275. LVL(15, 9, -1, 20, 4), (G_GENO|1), 1276. A(ATTK(AT_BREA, AD_MAGM, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1277. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1278. NO_ATTK, NO_ATTK), 1279. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 0, 0, 1280. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1281. M1_CARNIVORE, 1282. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1283. 0, CLR_CYAN), 1284. #endif 1285. MON("red dragon", S_DRAGON, 1286. LVL(15, 9, -1, 20, -4), (G_GENO|1), 1287. A(ATTK(AT_BREA, AD_FIRE, 6, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1288. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1289. NO_ATTK, NO_ATTK), 1290. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_FIRE, MR_FIRE, 1291. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1292. M1_CARNIVORE, 1293. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1294. M3_INFRAVISIBLE, CLR_RED), 1295. MON("white dragon", S_DRAGON, 1296. LVL(15, 9, -1, 20, -5), (G_GENO|1), 1297. A(ATTK(AT_BREA, AD_COLD, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1298. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1299. NO_ATTK, NO_ATTK), 1300. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_COLD, MR_COLD, 1301. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1302. M1_CARNIVORE, 1303. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_WHITE), 1304. MON("orange dragon", S_DRAGON, 1305. LVL(15, 9, -1, 20, 5), (G_GENO|1), 1306. A(ATTK(AT_BREA, AD_SLEE, 4,25), ATTK(AT_BITE, AD_PHYS, 3, 8), 1307. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1308. NO_ATTK, NO_ATTK), 1309. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_SLEEP, MR_SLEEP, 1310. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1311. M1_CARNIVORE, 1312. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1313. 0, CLR_ORANGE), 1314. MON("black dragon", S_DRAGON, 1315. LVL(15, 9, -1, 20, -6), (G_GENO|1), 1316. A(ATTK(AT_BREA, AD_DISN, 4,10), ATTK(AT_BITE, AD_PHYS, 3, 8), 1317. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1318. NO_ATTK, NO_ATTK), 1319. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_DISINT, MR_DISINT, 1320. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1321. M1_CARNIVORE, 1322. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLACK), 1323. MON("blue dragon", S_DRAGON, 1324. LVL(15, 9, -1, 20, -7), (G_GENO|1), 1325. A(ATTK(AT_BREA, AD_ELEC, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1326. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1327. NO_ATTK, NO_ATTK), 1328. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_ELEC, MR_ELEC, 1329. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1330. M1_CARNIVORE, 1331. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_BLUE), 1332. MON("green dragon", S_DRAGON, 1333. LVL(15, 9, -1, 20, 6), (G_GENO|1), 1334. A(ATTK(AT_BREA, AD_DRST, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1335. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1336. NO_ATTK, NO_ATTK), 1337. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), MR_POISON, MR_POISON, 1338. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1339. M1_CARNIVORE|M1_POIS, 1340. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 0, CLR_GREEN), 1341. MON("yellow dragon", S_DRAGON, 1342. LVL(15, 9, -1, 20, 7), (G_GENO|1), 1343. A(ATTK(AT_BREA, AD_ACID, 4, 6), ATTK(AT_BITE, AD_PHYS, 3, 8), 1344. ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 1345. NO_ATTK, NO_ATTK), 1346. SIZ(WT_DRAGON, 1500, 0, MS_ROAR, MZ_GIGANTIC), 1347. MR_ACID|MR_STONE, MR_STONE, 1348. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_SEE_INVIS|M1_OVIPAROUS| 1349. M1_CARNIVORE|M1_ACID, 1350. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_GREEDY|M2_JEWELS|M2_MAGIC, 1351. 0, CLR_YELLOW), 1352. /* 1353. * Elementals 1354. */ 1355. MON("stalker", S_ELEMENTAL, 1356. LVL(8, 12, 3, 0, 0), (G_GENO|3), 1357. A(ATTK(AT_CLAW, AD_PHYS, 4, 4), 1358. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1359. SIZ(900, 400, 0, MS_SILENT, MZ_LARGE), 0, 0, 1360. M1_ANIMAL|M1_FLY|M1_SEE_INVIS, 1361. M2_WANDER|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_WHITE), 1362. MON("air elemental", S_ELEMENTAL, 1363. LVL(8, 36, 2, 30, 0), (G_NOCORPSE|1), 1364. A(ATTK(AT_ENGL, AD_PHYS, 2,10), 1365. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1366. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0, 1367. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY, 1368. M2_STRONG|M2_NEUTER, 0, CLR_CYAN), 1369. MON("fire elemental", S_ELEMENTAL, 1370. LVL(8, 12, 2, 30, 0), (G_NOCORPSE|1), 1371. A(ATTK(AT_CLAW, AD_FIRE, 3, 6), ATTK(AT_NONE, AD_FIRE, 0, 4), 1372. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1373. SIZ(0, 0, 0, MS_SILENT, MZ_HUGE), MR_FIRE|MR_POISON|MR_STONE, 0, 1374. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_UNSOLID|M1_FLY|M1_NOTAKE, 1375. M2_STRONG|M2_NEUTER, M3_INFRAVISIBLE, CLR_YELLOW), 1376. MON("earth elemental", S_ELEMENTAL, 1377. LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1), 1378. A(ATTK(AT_CLAW, AD_PHYS, 4, 6), 1379. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1380. SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), 1381. MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0, 1382. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_BREATHLESS| 1383. M1_WALLWALK|M1_THICK_HIDE, 1384. M2_STRONG|M2_NEUTER, 0, CLR_BROWN), 1385. MON("water elemental", S_ELEMENTAL, 1386. LVL(8, 6, 2, 30, 0), (G_NOCORPSE|1), 1387. A(ATTK(AT_CLAW, AD_PHYS, 5, 6), 1388. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1389. SIZ(2500, 0, 0, MS_SILENT, MZ_HUGE), MR_POISON|MR_STONE, 0, 1390. M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_AMPHIBIOUS|M1_SWIM, 1391. M2_STRONG|M2_NEUTER, 0, CLR_BLUE), 1392. /* 1393. * Fungi 1394. */ 1395. MON("lichen", S_FUNGUS, 1396. LVL(0, 1, 9, 0, 0), (G_GENO|4), 1397. A(ATTK(AT_TUCH, AD_STCK, 0, 0), 1398. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1399. SIZ(20, 200, 0, MS_SILENT, MZ_SMALL), 0, 0, 1400. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1401. M2_HOSTILE|M2_NEUTER, 0, CLR_BRIGHT_GREEN), 1402. MON("brown mold", S_FUNGUS, 1403. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1404. A(ATTK(AT_NONE, AD_COLD, 0, 6), 1405. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1406. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), 1407. MR_COLD|MR_POISON, MR_COLD|MR_POISON, 1408. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1409. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1410. MON("yellow mold", S_FUNGUS, 1411. LVL(1, 0, 9, 0, 0), (G_GENO|2), 1412. A(ATTK(AT_NONE, AD_STUN, 0, 4), 1413. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1414. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 1415. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_POIS|M1_NOTAKE, 1416. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 1417. MON("green mold", S_FUNGUS, 1418. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1419. A(ATTK(AT_NONE, AD_ACID, 0, 4), 1420. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1421. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), MR_ACID|MR_STONE, MR_STONE, 1422. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_ACID|M1_NOTAKE, 1423. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 1424. MON("red mold", S_FUNGUS, 1425. LVL(1, 0, 9, 0, 0), (G_GENO|1), 1426. A(ATTK(AT_NONE, AD_FIRE, 0, 4), 1427. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1428. SIZ(50, 30, 0, MS_SILENT, MZ_SMALL), 1429. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1430. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1431. M2_HOSTILE|M2_NEUTER, M3_INFRAVISIBLE, CLR_RED), 1432. MON("shrieker", S_FUNGUS, 1433. LVL(3, 1, 7, 0, 0), (G_GENO|1), 1434. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1435. SIZ(100, 100, 0, MS_SHRIEK, MZ_SMALL), MR_POISON, MR_POISON, 1436. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1437. M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA), 1438. MON("violet fungus", S_FUNGUS, 1439. LVL(3, 1, 7, 0, 0), (G_GENO|2), 1440. A(ATTK(AT_TUCH, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_STCK, 0, 0), 1441. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1442. SIZ(100, 100, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 1443. M1_BREATHLESS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD|M1_MINDLESS|M1_NOTAKE, 1444. M2_HOSTILE|M2_NEUTER, 0, CLR_MAGENTA), 1445. /* 1446. * Gnomes 1447. */ 1448. MON("gnome", S_GNOME, 1449. LVL(1, 6, 10, 4, 0), (G_GENO|G_SGROUP|1), 1450. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1451. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1452. SIZ(650, 100, 0, MS_ORC, MZ_SMALL), 0, 0, 1453. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_COLLECT, 1454. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 1455. MON("gnome lord", S_GNOME, 1456. LVL(3, 8, 10, 4, 0), (G_GENO|2), 1457. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 1458. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1459. SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0, 1460. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_LORD|M2_MALE|M2_COLLECT, 1461. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 1462. MON("gnomish wizard", S_GNOME, 1463. LVL(3, 10, 4, 10, 0), (G_GENO|1), 1464. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), 1465. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1466. SIZ(700, 120, 0, MS_ORC, MZ_SMALL), 0, 0, 1467. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_MAGIC, 1468. M3_INFRAVISIBLE|M3_INFRAVISION, HI_ZAP), 1469. MON("gnome king", S_GNOME, 1470. LVL(5, 10, 10, 20, 0), (G_GENO|1), 1471. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1472. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1473. SIZ(750, 150, 0, MS_ORC, MZ_SMALL), 0, 0, 1474. M1_HUMANOID|M1_OMNIVORE, M2_GNOME|M2_PRINCE|M2_MALE|M2_COLLECT, 1475. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1476. #ifdef SPLITMON_1 1477. }; 1478. #endif 1479. #endif /* !SPLITMON_2 */ 1480. 1481. /* horrible kludge alert: 1482. * This is a compiler-specific kludge to allow the compilation of monst.o in 1483. * two pieces, by defining first SPLITMON_1 and then SPLITMON_2. The 1484. * resulting assembler files (monst1.s and monst2.s) are then run through 1485. * sed to change local symbols, concatenated together, and assembled to 1486. * produce monst.o. THIS ONLY WORKS WITH THE ATARI GCC, and should only 1487. * be done if you don't have enough memory to compile monst.o the "normal" 1488. * way. --ERS 1489. */ 1490. 1491. #ifndef SPLITMON_1 1492. #ifdef SPLITMON_2 1493. struct permonst _mons2[] = { 1494. #endif 1495. /* 1496. * giant Humanoids 1497. */ 1498. MON("giant", S_GIANT, 1499. LVL(6, 6, 0, 0, 2), (G_GENO|G_NOGEN|1), 1500. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1501. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1502. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), 0, 0, 1503. M1_HUMANOID|M1_CARNIVORE, 1504. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1505. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 1506. MON("stone giant", S_GIANT, 1507. LVL(6, 6, 0, 0, 2), (G_GENO|G_SGROUP|1), 1508. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1509. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1510. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), 0, 0, 1511. M1_HUMANOID|M1_CARNIVORE, 1512. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1513. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 1514. MON("hill giant", S_GIANT, 1515. LVL(8, 10, 6, 0, -2), (G_GENO|G_SGROUP|1), 1516. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), 1517. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1518. SIZ(2200, 700, 0, MS_BOAST, MZ_HUGE), 0, 0, 1519. M1_HUMANOID|M1_CARNIVORE, 1520. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1521. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN), 1522. MON("fire giant", S_GIANT, 1523. LVL(9, 12, 4, 5, 2), (G_GENO|G_SGROUP|1), 1524. A(ATTK(AT_WEAP, AD_PHYS, 2,10), 1525. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1526. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_FIRE, MR_FIRE, 1527. M1_HUMANOID|M1_CARNIVORE, 1528. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1529. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_YELLOW), 1530. MON("frost giant", S_GIANT, 1531. LVL(10, 12, 3, 10, -3), (G_NOHELL|G_GENO|G_SGROUP|1), 1532. A(ATTK(AT_WEAP, AD_PHYS, 2,12), 1533. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1534. SIZ(2250, 750, 0, MS_BOAST, MZ_HUGE), MR_COLD, MR_COLD, 1535. M1_HUMANOID|M1_CARNIVORE, 1536. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1537. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_WHITE), 1538. MON("storm giant", S_GIANT, 1539. LVL(16, 12, 3, 10, -3), (G_GENO|G_SGROUP|1), 1540. A(ATTK(AT_WEAP, AD_PHYS, 2, 12), 1541. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1542. SIZ(2250, 750, 0, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC, 1543. M1_HUMANOID|M1_CARNIVORE, 1544. M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_JEWELS, 1545. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 1546. MON("ettin", S_GIANT, 1547. LVL(10, 12, 3, 0, 0), (G_GENO|1), 1548. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1549. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1550. SIZ(1700, 500, 0, MS_GRUNT, MZ_HUGE), 0, 0, 1551. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1552. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 1553. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 1554. MON("titan", S_GIANT, 1555. LVL(16, 18, -3, 70, 9), (1), 1556. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1557. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1558. SIZ(2300, 900, 0, MS_SPELL, MZ_HUGE), 0, 0, 1559. M1_FLY|M1_HUMANOID|M1_OMNIVORE, 1560. M2_STRONG|M2_ROCKTHROW|M2_NASTY|M2_COLLECT|M2_MAGIC, 1561. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_MAGENTA), 1562. MON("minotaur", S_GIANT, 1563. LVL(15, 15, 6, 0, 0), (G_GENO|G_NOGEN), 1564. A(ATTK(AT_CLAW, AD_PHYS, 3,10), ATTK(AT_CLAW, AD_PHYS, 3,10), 1565. ATTK(AT_BUTT, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK), 1566. SIZ(1500, 700, 0, MS_SILENT, MZ_LARGE), 0, 0, 1567. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 1568. M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 1569. CLR_BROWN), 1570. /* 'I' is a visual marker for all invisible monsters and must be unused */ 1571. /* 1572. * Jabberwock 1573. */ 1574. MON("jabberwock", S_JABBERWOCK, 1575. LVL(15, 12, -2, 50, 0), (G_GENO|1), 1576. A(ATTK(AT_BITE, AD_PHYS, 2,10), ATTK(AT_BITE, AD_PHYS, 2,10), 1577. ATTK(AT_CLAW, AD_PHYS, 2,10), ATTK(AT_CLAW, AD_PHYS, 2,10), 1578. NO_ATTK, NO_ATTK), 1579. SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0, 1580. M1_ANIMAL|M1_FLY|M1_CARNIVORE, 1581. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, CLR_ORANGE), 1582. #if 0 /* DEFERRED */ 1583. MON("vorpal jabberwock", S_JABBERWOCK, 1584. LVL(20, 12, -2, 50, 0), (G_GENO|1), 1585. A(ATTK(AT_BITE, AD_PHYS, 3, 10), ATTK(AT_BITE, AD_PHYS, 3, 10), 1586. ATTK(AT_CLAW, AD_PHYS, 3, 10), ATTK(AT_CLAW, AD_PHYS, 3, 10), 1587. NO_ATTK, NO_ATTK), 1588. SIZ(1300, 600, 0, MS_BURBLE, MZ_LARGE), 0, 0, 1589. M1_ANIMAL|M1_FLY|M1_CARNIVORE, 1590. M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, M3_INFRAVISIBLE, HI_LORD), 1591. #endif 1592. #ifdef KOPS 1593. /* 1594. * Kops 1595. */ 1596. MON("Keystone Kop", S_KOP, 1597. LVL(1, 6, 10, 10, 9), (G_GENO|G_LGROUP|G_NOGEN), 1598. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 1599. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1600. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1601. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE, 1602. CLR_BLUE), 1603. MON("Kop Sergeant", S_KOP, 1604. LVL(2, 8, 10, 10, 10), (G_GENO|G_SGROUP|G_NOGEN), 1605. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 1606. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1607. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1608. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1609. M3_INFRAVISIBLE, CLR_BLUE), 1610. MON("Kop Lieutenant", S_KOP, 1611. LVL(3, 10, 10, 20, 11), (G_GENO|G_NOGEN), 1612. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 1613. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1614. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1615. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1616. M3_INFRAVISIBLE, CLR_CYAN), 1617. MON("Kop Kaptain", S_KOP, 1618. LVL(4, 12, 10, 20, 12), (G_GENO|G_NOGEN), 1619. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1620. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1621. SIZ(WT_HUMAN, 200, 0, MS_ARREST, MZ_HUMAN), 0, 0, M1_HUMANOID, 1622. M2_HUMAN|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_MALE|M2_COLLECT, 1623. M3_INFRAVISIBLE, HI_LORD), 1624. #endif 1625. /* 1626. * Liches 1627. */ 1628. MON("lich", S_LICH, 1629. LVL(11, 6, 0, 30, -9), (G_GENO|G_NOCORPSE|1), 1630. A(ATTK(AT_TUCH, AD_COLD, 1,10), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1631. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1632. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1633. MR_COLD|MR_SLEEP|MR_POISON, MR_COLD, 1634. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1635. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION, CLR_BROWN), 1636. MON("demilich", S_LICH, 1637. LVL(14, 9, -2, 60, -12), (G_GENO|G_NOCORPSE|1), 1638. A(ATTK(AT_TUCH, AD_COLD, 3, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1639. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1640. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1641. MR_COLD|MR_SLEEP|MR_POISON, MR_COLD, 1642. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1643. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_INFRAVISION, CLR_RED), 1644. MON("master lich", S_LICH, 1645. LVL(17, 9, -4, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1), 1646. A(ATTK(AT_TUCH, AD_COLD, 3, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1647. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1648. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1649. MR_FIRE|MR_COLD|MR_SLEEP|MR_POISON, MR_FIRE|MR_COLD, 1650. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1651. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION, HI_LORD), 1652. MON("arch-lich", S_LICH, 1653. LVL(25, 9, -6, 90, -15), (G_HELL|G_GENO|G_NOCORPSE|1), 1654. A(ATTK(AT_TUCH, AD_COLD, 5, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 1655. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1656. SIZ(1200, 100, 0, MS_MUMBLE, MZ_HUMAN), 1657. MR_FIRE|MR_COLD|MR_SLEEP|MR_ELEC|MR_POISON, MR_FIRE|MR_COLD, 1658. M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1659. M2_UNDEAD|M2_HOSTILE|M2_MAGIC, M3_WANTSBOOK|M3_INFRAVISION, HI_LORD), 1660. /* 1661. * Mummies 1662. */ 1663. MON("kobold mummy", S_MUMMY, 1664. LVL(3, 8, 6, 20, -2), (G_GENO|G_NOCORPSE|1), 1665. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 1666. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1667. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1668. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1669. M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN), 1670. MON("gnome mummy", S_MUMMY, 1671. LVL(4, 10, 6, 20, -3), (G_GENO|G_NOCORPSE|1), 1672. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1673. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1674. SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 1675. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1676. M2_UNDEAD|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_RED), 1677. MON("orc mummy", S_MUMMY, 1678. LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1), 1679. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1680. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1681. SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1682. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1683. M2_UNDEAD|M2_HOSTILE|M2_ORC|M2_GREEDY|M2_JEWELS, M3_INFRAVISION, 1684. CLR_GRAY), 1685. MON("dwarf mummy", S_MUMMY, 1686. LVL(5, 10, 5, 20, -4), (G_GENO|G_NOCORPSE|1), 1687. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 1688. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1689. SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 1690. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1691. M2_UNDEAD|M2_HOSTILE|M2_DWARF|M2_GREEDY|M2_JEWELS, M3_INFRAVISION, 1692. CLR_RED), 1693. MON("elf mummy", S_MUMMY, 1694. LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1), 1695. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), 1696. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1697. SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN), 1698. MR_COLD|MR_SLEEP|MR_POISON, 0, 1699. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1700. M2_UNDEAD|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN), 1701. MON("human mummy", S_MUMMY, 1702. LVL(6, 12, 4, 30, -5), (G_GENO|G_NOCORPSE|1), 1703. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 1704. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1705. SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN), 1706. MR_COLD|MR_SLEEP|MR_POISON, 0, 1707. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1708. M2_UNDEAD|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY), 1709. MON("ettin mummy", S_MUMMY, 1710. LVL(7, 12, 4, 30, -6), (G_GENO|G_NOCORPSE|1), 1711. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_PHYS, 2, 6), 1712. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1713. SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE), 1714. MR_COLD|MR_SLEEP|MR_POISON, 0, 1715. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1716. M2_UNDEAD|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE), 1717. MON("giant mummy", S_MUMMY, 1718. LVL(8, 14, 3, 30, -7), (G_GENO|G_NOCORPSE|1), 1719. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1720. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1721. SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE), 1722. MR_COLD|MR_SLEEP|MR_POISON, 0, 1723. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 1724. M2_UNDEAD|M2_HOSTILE|M2_GIANT|M2_STRONG|M2_JEWELS, M3_INFRAVISION, 1725. CLR_CYAN), 1726. /* 1727. * Nagas 1728. */ 1729. MON("red naga hatchling", S_NAGA, 1730. LVL(3, 10, 6, 0, 0), G_GENO, 1731. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1732. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1733. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), 1734. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1735. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE, M2_STRONG, 1736. M3_INFRAVISIBLE, CLR_RED), 1737. MON("black naga hatchling", S_NAGA, 1738. LVL(3, 10, 6, 0, 0), G_GENO, 1739. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1740. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1741. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), 1742. MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE, 1743. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_ACID|M1_NOTAKE, 1744. M2_STRONG, 0, CLR_BLACK), 1745. MON("golden naga hatchling", S_NAGA, 1746. LVL(3, 10, 6, 0, 0), G_GENO, 1747. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1748. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1749. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON, 1750. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE, M2_STRONG, 0, HI_GOLD), 1751. MON("guardian naga hatchling", S_NAGA, 1752. LVL(3, 10, 6, 0, 0), G_GENO, 1753. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 1754. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1755. SIZ(500, 100, 0, MS_MUMBLE, MZ_LARGE), MR_POISON, MR_POISON, 1756. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_NOTAKE, M2_STRONG, 0, CLR_GREEN), 1757. MON("red naga", S_NAGA, 1758. LVL(6, 12, 4, 0, -4), (G_GENO|1), 1759. A(ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_BREA, AD_FIRE, 2, 6), 1760. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1761. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), 1762. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 1763. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE, 1764. M2_STRONG, M3_INFRAVISIBLE, CLR_RED), 1765. MON("black naga", S_NAGA, 1766. LVL(8, 14, 2, 10, 4), (G_GENO|1), 1767. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_SPIT, AD_ACID, 0, 0), 1768. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1769. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), 1770. MR_POISON|MR_ACID|MR_STONE, MR_POISON|MR_STONE, 1771. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_ACID|M1_NOTAKE, 1772. M2_STRONG, 0, CLR_BLACK), 1773. MON("golden naga", S_NAGA, 1774. LVL(10, 14, 2, 70, 5), (G_GENO|1), 1775. A(ATTK(AT_BITE, AD_PHYS, 2, 6), ATTK(AT_MAGC, AD_SPEL, 4, 6), 1776. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1777. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON, 1778. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_NOTAKE, 1779. M2_STRONG, 0, HI_GOLD), 1780. MON("guardian naga", S_NAGA, 1781. LVL(12, 16, 0, 50, 7), (G_GENO|1), 1782. A(ATTK(AT_BITE, AD_PLYS, 1, 6), ATTK(AT_SPIT, AD_DRST, 1, 6), 1783. ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 1784. SIZ(2600, 400, 0, MS_MUMBLE, MZ_HUGE), MR_POISON, MR_POISON, 1785. M1_NOLIMBS|M1_SLITHY|M1_THICK_HIDE|M1_OVIPAROUS|M1_POIS|M1_NOTAKE, 1786. M2_STRONG, 0, CLR_GREEN), 1787. /* 1788. * Ogres 1789. */ 1790. MON("ogre", S_OGRE, 1791. LVL(5, 10, 5, 0, -3), (G_SGROUP|G_GENO|1), 1792. A(ATTK(AT_WEAP, AD_PHYS, 2, 5), 1793. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1794. SIZ(1600, 500, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE, 1795. M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1796. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BROWN), 1797. MON("ogre lord", S_OGRE, 1798. LVL(7, 12, 3, 30, -5), (G_GENO|2), 1799. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 1800. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1801. SIZ(1700, 700, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE, 1802. M2_STRONG|M2_LORD|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1803. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 1804. MON("ogre king", S_OGRE, 1805. LVL(9, 14, 4, 60, -7), (G_GENO|2), 1806. A(ATTK(AT_WEAP, AD_PHYS, 3, 5), 1807. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1808. SIZ(1700, 750, 0, MS_GRUNT, MZ_LARGE), 0, 0, M1_HUMANOID|M1_CARNIVORE, 1809. M2_STRONG|M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT, 1810. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1811. /* 1812. * Puddings 1813. */ 1814. MON("gray ooze", S_PUDDING, 1815. LVL(3, 1, 8, 0, 0), (G_GENO|2), 1816. A(ATTK(AT_BITE, AD_RUST, 2, 8), 1817. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1818. SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM), 1819. MR_FIRE|MR_COLD|MR_POISON|MR_ACID|MR_STONE, MR_FIRE|MR_COLD|MR_POISON, 1820. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1821. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1822. M2_HOSTILE|M2_NEUTER, 0, CLR_GRAY), 1823. MON("brown pudding", S_PUDDING, 1824. LVL(5, 3, 8, 0, 0), (G_GENO|1), 1825. A(ATTK(AT_BITE, AD_DCAY, 0, 0), 1826. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1827. SIZ(500, 250, 0, MS_SILENT, MZ_MEDIUM), 1828. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON, 1829. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1830. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1831. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 1832. MON("black pudding", S_PUDDING, 1833. LVL(10, 6, 6, 0, 0), (G_GENO|1), 1834. A(ATTK(AT_BITE, AD_RUST, 3, 8), ATTK(AT_NONE, AD_RUST, 0, 0), 1835. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1836. SIZ(900, 250, 0, MS_SILENT, MZ_LARGE), 1837. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, MR_COLD|MR_ELEC|MR_POISON, 1838. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1839. M1_MINDLESS|M1_OMNIVORE|M1_ACID, 1840. M2_HOSTILE|M2_NEUTER, 0, CLR_BLACK), 1841. MON("green slime", S_PUDDING, 1842. LVL(6, 6, 6, 0, 0), (G_HELL|G_GENO|1), 1843. A(ATTK(AT_TUCH, AD_SLIM, 1, 4), ATTK(AT_NONE, AD_SLIM, 0, 0), 1844. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1845. SIZ(400, 150, 0, MS_SILENT, MZ_LARGE), 1846. MR_COLD|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, 0, 1847. M1_BREATHLESS|M1_AMORPHOUS|M1_NOEYES|M1_NOLIMBS|M1_NOHEAD| 1848. M1_MINDLESS|M1_OMNIVORE|M1_ACID|M1_POIS, 1849. M2_HOSTILE|M2_NEUTER, 0, CLR_GREEN), 1850. /* 1851. * Quantum mechanics 1852. */ 1853. MON("quantum mechanic", S_QUANTMECH, 1854. LVL(7, 12, 3, 10, 0), (G_GENO|3), 1855. A(ATTK(AT_CLAW, AD_TLPT, 1, 4), 1856. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1857. SIZ(WT_HUMAN, 20, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 1858. M1_HUMANOID|M1_OMNIVORE|M1_POIS|M1_TPORT, M2_HOSTILE, M3_INFRAVISIBLE, 1859. CLR_CYAN), 1860. /* 1861. * Rust monster or disenchanter 1862. */ 1863. MON("rust monster", S_RUSTMONST, 1864. LVL(5, 18, 2, 0, 0), (G_GENO|2), 1865. A(ATTK(AT_TUCH, AD_RUST, 0, 0), ATTK(AT_TUCH, AD_RUST, 0, 0), 1866. ATTK(AT_NONE, AD_RUST, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 1867. SIZ(1000, 250, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 1868. M1_SWIM|M1_ANIMAL|M1_NOHANDS|M1_METALLIVORE, M2_HOSTILE, 1869. M3_INFRAVISIBLE, CLR_BROWN), 1870. MON("disenchanter", S_RUSTMONST, 1871. LVL(12, 12, -10, 0, -3), (G_HELL|G_GENO|2), 1872. A(ATTK(AT_CLAW, AD_ENCH, 4, 4), ATTK(AT_NONE, AD_ENCH, 0, 0), 1873. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1874. SIZ(750, 200, 0, MS_GROWL, MZ_LARGE), 0, 0, 1875. M1_ANIMAL|M1_CARNIVORE, M2_HOSTILE, 1876. M3_INFRAVISIBLE, CLR_BLUE), 1877. /* 1878. * Snakes 1879. */ 1880. MON("garter snake", S_SNAKE, 1881. LVL(1, 8, 8, 0, 0), (G_LGROUP|G_GENO|1), 1882. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 1883. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1884. SIZ(50, 60, 0, MS_HISS, MZ_TINY), 0, 0, 1885. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_OVIPAROUS| 1886. M1_CARNIVORE|M1_NOTAKE, 1887. 0, 0, CLR_GREEN), 1888. MON("snake", S_SNAKE, 1889. LVL(4, 15, 3, 0, 0), (G_GENO|2), 1890. A(ATTK(AT_BITE, AD_DRST, 1, 6), 1891. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1892. SIZ(100, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON, 1893. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1894. M1_OVIPAROUS|M1_CARNIVORE|M1_NOTAKE, 1895. M2_HOSTILE, 0, CLR_BROWN), 1896. MON("water moccasin", S_SNAKE, 1897. LVL(4, 15, 3, 0, 0), (G_GENO|G_NOGEN|G_LGROUP), 1898. A(ATTK(AT_BITE, AD_DRST, 1, 6), 1899. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1900. SIZ(150, 80, 0, MS_HISS, MZ_SMALL), MR_POISON, MR_POISON, 1901. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1902. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1903. M2_HOSTILE, 0, CLR_RED), 1904. MON("pit viper", S_SNAKE, 1905. LVL(6, 15, 2, 0, 0), (G_GENO|1), 1906. A(ATTK(AT_BITE, AD_DRST, 1, 4), ATTK(AT_BITE, AD_DRST, 1, 4), 1907. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1908. SIZ(100, 60, 0, MS_HISS, MZ_MEDIUM), 1909. MR_POISON, MR_POISON, 1910. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1911. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1912. M2_HOSTILE, M3_INFRAVISION, CLR_BLUE), 1913. MON("python", S_SNAKE, 1914. LVL(6, 3, 5, 0, 0), (G_GENO|1), 1915. A(ATTK(AT_BITE, AD_PHYS, 1, 4), ATTK(AT_TUCH, AD_PHYS, 0, 0), 1916. ATTK(AT_HUGS, AD_WRAP, 1, 4), ATTK(AT_HUGS, AD_PHYS, 2, 4), 1917. NO_ATTK, NO_ATTK), 1918. SIZ(250, 100, 0, MS_HISS, MZ_LARGE), 0, 0, 1919. M1_SWIM|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1920. M2_HOSTILE|M2_STRONG, 0, CLR_MAGENTA), 1921. MON("cobra", S_SNAKE, 1922. LVL(6, 18, 2, 0, 0), (G_GENO|1), 1923. A(ATTK(AT_BITE, AD_DRST, 2, 4), ATTK(AT_SPIT, AD_BLND, 0, 0), 1924. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1925. SIZ(250, 100, 0, MS_HISS, MZ_MEDIUM), 1926. MR_POISON, MR_POISON, 1927. M1_SWIM|M1_CONCEAL|M1_NOLIMBS|M1_ANIMAL|M1_SLITHY|M1_POIS| 1928. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 1929. M2_HOSTILE, 0, CLR_BLUE), 1930. /* 1931. * Trolls 1932. */ 1933. MON("troll", S_TROLL, 1934. LVL(7, 12, 4, 0, -3), (G_GENO|2), 1935. A(ATTK(AT_CLAW, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2), 1936. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1937. SIZ(800, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1938. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1939. M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION, 1940. CLR_BROWN), 1941. MON("ice troll", S_TROLL, 1942. LVL(9, 10, 2, 20, -3), (G_NOHELL|G_GENO|1), 1943. A(ATTK(AT_CLAW, AD_COLD, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 1944. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1945. SIZ(1000, 300, 0, MS_GRUNT, MZ_LARGE), MR_COLD, MR_COLD, 1946. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1947. M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION, 1948. CLR_WHITE), 1949. MON("rock troll", S_TROLL, 1950. LVL(9, 12, 0, 0, -3), (G_GENO|1), 1951. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1952. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1953. SIZ(1200, 300, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1954. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1955. M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, 1956. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_CYAN), 1957. MON("water troll", S_TROLL, 1958. LVL(11, 14, 4, 40, -3), (G_NOGEN|G_GENO), 1959. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 2, 8), 1960. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1961. SIZ(1200, 350, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1962. M1_HUMANOID|M1_REGEN|M1_CARNIVORE|M1_SWIM, 1963. M2_STRONG|M2_STALK|M2_HOSTILE, M3_INFRAVISIBLE|M3_INFRAVISION, 1964. CLR_BLUE), 1965. MON("Olog-hai", S_TROLL, 1966. LVL(13, 12, -4, 0, -7), (G_GENO|1), 1967. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_WEAP, AD_PHYS, 3, 6), 1968. ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 1969. SIZ(1500, 400, 0, MS_GRUNT, MZ_LARGE), 0, 0, 1970. M1_HUMANOID|M1_REGEN|M1_CARNIVORE, 1971. M2_STRONG|M2_STALK|M2_HOSTILE|M2_COLLECT, 1972. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 1973. /* 1974. * Umber hulk 1975. */ 1976. MON("umber hulk", S_UMBER, 1977. LVL(9, 6, 2, 25, 0), (G_GENO|2), 1978. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 1979. ATTK(AT_BITE, AD_PHYS, 2, 5), ATTK(AT_GAZE, AD_CONF, 0, 0), 1980. NO_ATTK, NO_ATTK), 1981. SIZ(1200, 500, 0, MS_SILENT, MZ_LARGE), 0, 0, 1982. M1_TUNNEL|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE, CLR_BROWN), 1983. /* 1984. * Vampires 1985. */ 1986. MON("vampire", S_VAMPIRE, 1987. LVL(10, 12, 1, 25, -8), (G_GENO|1), 1988. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_BITE, AD_DRLI, 1, 6), 1989. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1990. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 1991. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 1992. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE, 1993. CLR_RED), 1994. MON("vampire lord", S_VAMPIRE, 1995. LVL(12, 14, 0, 50, -9), (G_GENO|1), 1996. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_BITE, AD_DRLI, 1, 8), 1997. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 1998. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 1999. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 2000. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE, 2001. M3_INFRAVISIBLE, CLR_BLUE), 2002. #if 0 /* DEFERRED */ 2003. MON("vampire mage", S_VAMPIRE, 2004. LVL(20, 14, -4, 50, -9), (G_GENO|1), 2005. A(ATTK(AT_CLAW, AD_DRLI, 2, 8), ATTK(AT_BITE, AD_DRLI, 1, 8), 2006. ATTK(AT_MAGC, AD_SPEL, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2007. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 2008. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 2009. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_LORD|M2_MALE| 2010. M2_MAGIC, M3_INFRAVISIBLE, HI_ZAP), 2011. #endif 2012. MON("Vlad the Impaler", S_VAMPIRE, 2013. LVL(14, 18, -3, 80, -10), (G_NOGEN|G_NOCORPSE|G_UNIQ), 2014. A(ATTK(AT_WEAP, AD_PHYS, 1, 10), ATTK(AT_BITE, AD_DRLI, 1, 10), 2015. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2016. SIZ(WT_HUMAN, 400, 0, MS_VAMPIRE, MZ_HUMAN), MR_SLEEP|MR_POISON, 0, 2017. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_POIS|M1_REGEN, 2018. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG| 2019. M2_NASTY|M2_PRINCE|M2_MALE, 2020. M3_WAITFORU|M3_WANTSBOOK|M3_INFRAVISIBLE, HI_LORD), 2021. /* 2022. * Wraiths 2023. */ 2024. MON("barrow wight", S_WRAITH, 2025. LVL(3, 12, 5, 5, -3), (G_GENO|G_NOCORPSE|1), 2026. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2027. ATTK(AT_WEAP, AD_DRLI, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 2028. SIZ(1200, 0, 0, MS_SPELL, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 2029. M1_BREATHLESS|M1_HUMANOID, 2030. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_COLLECT, 0, CLR_GRAY), 2031. MON("wraith", S_WRAITH, 2032. LVL(6, 12, 4, 15, -6), (G_GENO|2), 2033. A(ATTK(AT_TUCH, AD_DRLI, 1, 6), 2034. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2035. SIZ(0, 0, 0, MS_SILENT, MZ_HUMAN), 2036. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 2037. M1_BREATHLESS|M1_FLY|M1_HUMANOID|M1_UNSOLID, 2038. M2_UNDEAD|M2_STALK|M2_HOSTILE, 0, CLR_BLACK), 2039. MON("Nazgul", S_WRAITH, 2040. LVL(13, 12, 0, 25, -17), (G_GENO|G_NOCORPSE|1), 2041. A(ATTK(AT_WEAP, AD_DRLI, 1, 4), ATTK(AT_BREA, AD_SLEE, 2,25), 2042. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2043. SIZ(WT_HUMAN, 0, 0, MS_SPELL, MZ_HUMAN), 2044. MR_COLD|MR_SLEEP|MR_POISON, 0, M1_BREATHLESS|M1_HUMANOID, 2045. M2_UNDEAD|M2_STALK|M2_STRONG|M2_HOSTILE|M2_MALE|M2_COLLECT, 2046. 0, HI_LORD), 2047. /* 2048. * Xorn 2049. */ 2050. MON("xorn", S_XORN, 2051. LVL(8, 9,-2, 20, 0), (G_GENO|1), 2052. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2053. ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_BITE, AD_PHYS, 4, 6), 2054. NO_ATTK, NO_ATTK), 2055. SIZ(1200, 700, 0, MS_SILENT, MZ_MEDIUM), 2056. MR_FIRE|MR_COLD|MR_STONE, MR_STONE, 2057. M1_BREATHLESS|M1_WALLWALK|M1_THICK_HIDE|M1_METALLIVORE, 2058. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 2059. /* 2060. * Yeti, apes and other large beasts 2061. */ 2062. MON("monkey", S_YETI, 2063. LVL(2, 12, 6, 0, 0), (G_GENO|1), 2064. A(ATTK(AT_CLAW, AD_SITM, 0, 0), ATTK(AT_BITE, AD_PHYS, 1, 3), 2065. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2066. SIZ(100, 50, 0, MS_GROWL, MZ_SMALL), 0, 0, 2067. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 0, M3_INFRAVISIBLE, CLR_GRAY), 2068. MON("ape", S_YETI, 2069. LVL(4, 12, 6, 0, 0), (G_GENO|G_SGROUP|2), 2070. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2071. ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 2072. SIZ(1100, 500, 0, MS_GROWL, MZ_LARGE), 0, 0, 2073. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_STRONG, M3_INFRAVISIBLE, 2074. CLR_BROWN), 2075. MON("owlbear", S_YETI, 2076. LVL(5, 12, 5, 0, 0), (G_GENO|3), 2077. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2078. ATTK(AT_HUGS, AD_PHYS, 2, 8), NO_ATTK, NO_ATTK, NO_ATTK), 2079. SIZ(1700, 700, 0, MS_ROAR, MZ_LARGE), 0, 0, 2080. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, 2081. M2_HOSTILE|M2_STRONG|M2_NASTY, M3_INFRAVISIBLE, CLR_BROWN), 2082. MON("yeti", S_YETI, 2083. LVL(5, 15, 6, 0, 0), (G_GENO|2), 2084. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2085. ATTK(AT_BITE, AD_PHYS, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2086. SIZ(1600, 700, 0, MS_GROWL, MZ_LARGE), MR_COLD, MR_COLD, 2087. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 2088. M3_INFRAVISIBLE, CLR_WHITE), 2089. MON("carnivorous ape", S_YETI, 2090. LVL(6, 12, 6, 0, 0), (G_GENO|1), 2091. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2092. ATTK(AT_HUGS, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 2093. SIZ(1250, 550, 0, MS_GROWL, MZ_LARGE), 0, 0, 2094. M1_ANIMAL|M1_HUMANOID|M1_CARNIVORE, M2_HOSTILE|M2_STRONG, 2095. M3_INFRAVISIBLE, CLR_BLACK), 2096. MON("sasquatch", S_YETI, 2097. LVL(7, 15, 6, 0, 2), (G_GENO|1), 2098. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2099. ATTK(AT_KICK, AD_PHYS, 1, 8), NO_ATTK, NO_ATTK, NO_ATTK), 2100. SIZ(1550, 750, 0, MS_GROWL, MZ_LARGE), 0, 0, 2101. M1_ANIMAL|M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, M2_STRONG, 2102. M3_INFRAVISIBLE, CLR_GRAY), 2103. /* 2104. * Zombies 2105. */ 2106. MON("kobold zombie", S_ZOMBIE, 2107. LVL(0, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 2108. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), 2109. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2110. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 2111. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2112. M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_BROWN), 2113. MON("gnome zombie", S_ZOMBIE, 2114. LVL(1, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 2115. A(ATTK(AT_CLAW, AD_PHYS, 1, 5), 2116. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2117. SIZ(650, 50, 0, MS_SILENT, MZ_SMALL), MR_COLD|MR_SLEEP|MR_POISON, 0, 2118. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2119. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GNOME, M3_INFRAVISION, CLR_BROWN), 2120. MON("orc zombie", S_ZOMBIE, 2121. LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2122. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 2123. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2124. SIZ(850, 75, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 2125. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2126. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ORC, M3_INFRAVISION, CLR_GRAY), 2127. MON("dwarf zombie", S_ZOMBIE, 2128. LVL(2, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2129. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), 2130. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2131. SIZ(900, 150, 0, MS_SILENT, MZ_HUMAN), MR_COLD|MR_SLEEP|MR_POISON, 0, 2132. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2133. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_DWARF, M3_INFRAVISION, CLR_RED), 2134. MON("elf zombie", S_ZOMBIE, 2135. LVL(3, 6, 9, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2136. A(ATTK(AT_CLAW, AD_PHYS, 1, 7), 2137. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2138. SIZ(WT_ELF, 175, 0, MS_SILENT, MZ_HUMAN), 2139. MR_COLD|MR_SLEEP|MR_POISON, 0, 2140. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2141. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_ELF, M3_INFRAVISION, CLR_GREEN), 2142. MON("human zombie", S_ZOMBIE, 2143. LVL(4, 6, 8, 0, -3), (G_GENO|G_SGROUP|G_NOCORPSE|1), 2144. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), 2145. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2146. SIZ(WT_HUMAN, 200, 0, MS_SILENT, MZ_HUMAN), 2147. MR_COLD|MR_SLEEP|MR_POISON, 0, 2148. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2149. M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, HI_DOMESTIC), 2150. MON("ettin zombie", S_ZOMBIE, 2151. LVL(6, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1), 2152. A(ATTK(AT_CLAW, AD_PHYS, 1,10), ATTK(AT_CLAW, AD_PHYS, 1,10), 2153. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2154. SIZ(1700, 250, 0, MS_SILENT, MZ_HUGE), 2155. MR_COLD|MR_SLEEP|MR_POISON, 0, 2156. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2157. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_STRONG, M3_INFRAVISION, CLR_BLUE), 2158. MON("giant zombie", S_ZOMBIE, 2159. LVL(8, 8, 6, 0, -4), (G_GENO|G_NOCORPSE|1), 2160. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 2161. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2162. SIZ(2050, 375, 0, MS_SILENT, MZ_HUGE), 2163. MR_COLD|MR_SLEEP|MR_POISON, 0, 2164. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2165. M2_UNDEAD|M2_STALK|M2_HOSTILE|M2_GIANT|M2_STRONG, M3_INFRAVISION, 2166. CLR_CYAN), 2167. MON("ghoul", S_ZOMBIE, 2168. LVL(3, 6, 10, 0, -2), (G_GENO|G_NOCORPSE|1), 2169. A(ATTK(AT_CLAW, AD_PLYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2170. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2171. SIZ(400, 50, 0, MS_SILENT, MZ_SMALL), 2172. MR_COLD|MR_SLEEP|MR_POISON, 0, 2173. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_POIS, 2174. M2_UNDEAD|M2_WANDER|M2_HOSTILE, M3_INFRAVISION, CLR_BLACK), 2175. MON("skeleton", S_ZOMBIE, 2176. LVL(12, 8, 4, 0, 0), (G_NOCORPSE|G_NOGEN), 2177. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), 2178. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2179. SIZ(300, 5, 0, MS_BONES, MZ_HUMAN), 2180. MR_COLD|MR_SLEEP|MR_POISON|MR_STONE, 0, 2181. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2182. M2_UNDEAD|M2_WANDER|M2_HOSTILE|M2_STRONG|M2_COLLECT|M2_NASTY, 2183. M3_INFRAVISION, CLR_WHITE), 2184. /* 2185. * golems 2186. */ 2187. MON("straw golem", S_GOLEM, 2188. LVL(3, 12, 10, 0, 0), (G_GENO|G_NOCORPSE|1), 2189. A(ATTK(AT_CLAW, AD_PHYS, 1, 2), ATTK(AT_CLAW, AD_PHYS, 1, 2), 2190. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2191. SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2192. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2193. M2_HOSTILE|M2_NEUTER, 0, CLR_YELLOW), 2194. MON("paper golem", S_GOLEM, 2195. LVL(3, 12, 10, 0, 0), (G_GENO|G_NOCORPSE|1), 2196. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), 2197. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2198. SIZ(400, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2199. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2200. M2_HOSTILE|M2_NEUTER, 0, HI_PAPER), 2201. MON("rope golem", S_GOLEM, 2202. LVL(4, 9, 8, 0, 0), (G_GENO|G_NOCORPSE|1), 2203. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2204. ATTK(AT_HUGS, AD_PHYS, 6, 1), NO_ATTK, NO_ATTK, NO_ATTK), 2205. SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2206. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2207. M2_HOSTILE|M2_NEUTER, 0, CLR_BROWN), 2208. MON("gold golem", S_GOLEM, 2209. LVL(5, 9, 6, 0, 0), (G_GENO|G_NOCORPSE|1), 2210. A(ATTK(AT_CLAW, AD_PHYS, 2, 3), ATTK(AT_CLAW, AD_PHYS, 2, 3), 2211. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2212. SIZ(450, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2213. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2214. M2_HOSTILE|M2_NEUTER, 0, HI_GOLD), 2215. MON("leather golem", S_GOLEM, 2216. LVL(6, 6, 6, 0, 0), (G_GENO|G_NOCORPSE|1), 2217. A(ATTK(AT_CLAW, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_PHYS, 1, 6), 2218. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2219. SIZ(800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2220. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2221. M2_HOSTILE|M2_NEUTER, 0, HI_LEATHER), 2222. MON("wood golem", S_GOLEM, 2223. LVL(7, 3, 4, 0, 0), (G_GENO|G_NOCORPSE|1), 2224. A(ATTK(AT_CLAW, AD_PHYS, 3, 4), 2225. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2226. SIZ(900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2227. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2228. M2_HOSTILE|M2_NEUTER, 0, HI_WOOD), 2229. MON("flesh golem", S_GOLEM, 2230. LVL(9, 8, 9, 30, 0), (G_GENO|1), 2231. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 2232. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2233. SIZ(1400, 600, 0, MS_SILENT, MZ_LARGE), 2234. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 2235. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 2236. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID, 2237. M2_HOSTILE|M2_STRONG, 0, CLR_RED), 2238. MON("clay golem", S_GOLEM, 2239. LVL(11, 7, 7, 40, 0), (G_GENO|G_NOCORPSE|1), 2240. A(ATTK(AT_CLAW, AD_PHYS, 3,10), 2241. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2242. SIZ(1550, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2243. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2244. M2_HOSTILE|M2_STRONG, 0, CLR_BROWN), 2245. MON("stone golem", S_GOLEM, 2246. LVL(14, 6, 5, 50, 0), (G_GENO|G_NOCORPSE|1), 2247. A(ATTK(AT_CLAW, AD_PHYS, 3, 8), 2248. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2249. SIZ(1900, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON|MR_STONE, 0, 2250. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2251. M2_HOSTILE|M2_STRONG, 0, CLR_GRAY), 2252. MON("glass golem", S_GOLEM, 2253. LVL(16, 6, 1, 50, 0), (G_GENO|G_NOCORPSE|1), 2254. A(ATTK(AT_CLAW, AD_PHYS, 2, 8), ATTK(AT_CLAW, AD_PHYS, 2, 8), 2255. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2256. SIZ(1800, 0, 0, MS_SILENT, MZ_LARGE), MR_SLEEP|MR_POISON, 0, 2257. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE, 2258. M2_HOSTILE|M2_STRONG, 0, CLR_CYAN), 2259. MON("iron golem", S_GOLEM, 2260. LVL(18, 6, 3, 60, 0), (G_GENO|G_NOCORPSE|1), 2261. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_BREA, AD_DRST, 4, 6), 2262. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2263. SIZ(2000, 0, 0, MS_SILENT, MZ_LARGE), 2264. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON, 0, 2265. M1_BREATHLESS|M1_MINDLESS|M1_HUMANOID|M1_THICK_HIDE|M1_POIS, 2266. M2_HOSTILE|M2_STRONG|M2_COLLECT, 0, HI_METAL), 2267. /* 2268. * humans, including elves and were-critters 2269. */ 2270. MON("human", S_HUMAN, 2271. LVL(0, 12, 10, 0, 0), G_NOGEN, /* for corpses */ 2272. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2273. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2274. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2275. M1_HUMANOID|M1_OMNIVORE, 2276. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, 2277. M3_INFRAVISIBLE, HI_DOMESTIC), 2278. MON("wererat", S_HUMAN, 2279. LVL(2, 12, 10, 10, -7), (1), 2280. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2281. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2282. SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0, 2283. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 2284. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE, 2285. CLR_BROWN), 2286. MON("werejackal", S_HUMAN, 2287. LVL(2, 12, 10, 10, -7), (1), 2288. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2289. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2290. SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0, 2291. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 2292. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, M3_INFRAVISIBLE, 2293. CLR_RED), 2294. MON("werewolf", S_HUMAN, 2295. LVL(5, 12, 10, 20, -7), (1), 2296. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2297. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2298. SIZ(WT_HUMAN, 400, 0, MS_WERE, MZ_HUMAN), MR_POISON, 0, 2299. M1_HUMANOID|M1_POIS|M1_REGEN|M1_OMNIVORE, 2300. M2_NOPOLY|M2_WERE|M2_HOSTILE|M2_HUMAN|M2_COLLECT, 2301. M3_INFRAVISIBLE, CLR_ORANGE), 2302. MON("elf", S_HUMAN, 2303. LVL(10, 12, 10, 2, -3), G_NOGEN, /* for corpses */ 2304. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2305. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2306. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2307. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2308. M2_NOPOLY|M2_ELF|M2_STRONG|M2_COLLECT, M3_INFRAVISION|M3_INFRAVISIBLE, 2309. HI_DOMESTIC), 2310. MON("Woodland-elf", S_HUMAN, 2311. LVL(4, 12, 10, 10, -5), (G_GENO|G_SGROUP|2), 2312. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2313. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2314. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2315. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2316. M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GREEN), 2317. MON("Green-elf", S_HUMAN, 2318. LVL(5, 12, 10, 10, -6), (G_GENO|G_SGROUP|2), 2319. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2320. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2321. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2322. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2323. M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_GREEN), 2324. MON("Grey-elf", S_HUMAN, 2325. LVL(6, 12, 10, 10, -7), (G_GENO|G_SGROUP|2), 2326. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2327. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2328. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2329. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2330. M2_ELF|M2_COLLECT, M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2331. MON("elf-lord", S_HUMAN, 2332. LVL(8, 12, 10, 20, -9), (G_GENO|G_SGROUP|2), 2333. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2334. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2335. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2336. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2337. M2_ELF|M2_STRONG|M2_LORD|M2_MALE|M2_COLLECT, 2338. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BRIGHT_BLUE), 2339. MON("Elvenking", S_HUMAN, 2340. LVL(9, 12, 10, 25, -10), (G_GENO|1), 2341. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2342. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2343. SIZ(WT_ELF, 350, 0, MS_HUMANOID, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 2344. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS, 2345. M2_ELF|M2_STRONG|M2_PRINCE|M2_MALE|M2_COLLECT, 2346. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2347. MON("doppelganger", S_HUMAN, 2348. LVL(9, 10, 5, 20, 0), (G_GENO|1), 2349. A(ATTK(AT_WEAP, AD_PHYS, 1, 12), 2350. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2351. SIZ(WT_HUMAN, 400, 0, MS_IMITATE, MZ_HUMAN), MR_SLEEP, 0, 2352. M1_HUMANOID|M1_OMNIVORE, 2353. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2354. M3_INFRAVISIBLE, HI_DOMESTIC), 2355. MON("nurse", S_HUMAN, 2356. LVL(11, 6, 0, 0, 0), (G_GENO|3), 2357. A(ATTK(AT_CLAW, AD_HEAL, 2, 6), 2358. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2359. SIZ(WT_HUMAN, 400, 0, MS_NURSE, MZ_HUMAN), MR_POISON, MR_POISON, 2360. M1_HUMANOID|M1_OMNIVORE, M2_NOPOLY|M2_HUMAN|M2_HOSTILE, 2361. M3_INFRAVISIBLE, HI_DOMESTIC), 2362. MON("shopkeeper", S_HUMAN, 2363. LVL(12, 18, 0, 50, 0), G_NOGEN, 2364. A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), 2365. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2366. SIZ(WT_HUMAN, 400, sizeof(struct eshk), MS_SELL, MZ_HUMAN), 0, 0, 2367. M1_HUMANOID|M1_OMNIVORE, 2368. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 2369. M3_INFRAVISIBLE, HI_DOMESTIC), 2370. MON("guard", S_HUMAN, 2371. LVL(12, 12, 10, 40, 10), G_NOGEN, 2372. A(ATTK(AT_WEAP, AD_PHYS, 4,10), 2373. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2374. SIZ(WT_HUMAN, 400, sizeof(struct egd), MS_GUARD, MZ_HUMAN), 0, 0, 2375. M1_HUMANOID|M1_OMNIVORE, 2376. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2377. M3_INFRAVISIBLE, CLR_BLUE), 2378. MON("prisoner", S_HUMAN, 2379. LVL(12, 12, 10, 0, 0), G_NOGEN, /* for special levels */ 2380. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2381. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2382. SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), 0, 0, 2383. M1_HUMANOID|M1_OMNIVORE, 2384. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2385. M3_INFRAVISIBLE|M3_CLOSE, HI_DOMESTIC), 2386. MON("Oracle", S_HUMAN, 2387. LVL(12, 0, 0, 50, 0), (G_NOGEN|G_UNIQ), 2388. A(ATTK(AT_NONE, AD_MAGM, 0, 4), 2389. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2390. SIZ(WT_HUMAN, 400, 0, MS_ORACLE, MZ_HUMAN), 0, 0, 2391. M1_HUMANOID|M1_OMNIVORE, 2392. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_FEMALE, M3_INFRAVISIBLE, HI_ZAP), 2393. MON("aligned priest", S_HUMAN, 2394. LVL(12, 12, 10, 50, 0), G_NOGEN, 2395. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 1, 4), 2396. ATTK(AT_MAGC, AD_CLRC, 0, 0), NO_ATTK, NO_ATTK, NO_ATTK), 2397. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN), 2398. MR_ELEC, 0, M1_HUMANOID|M1_OMNIVORE, 2399. M2_NOPOLY|M2_HUMAN|M2_LORD|M2_PEACEFUL|M2_COLLECT, M3_INFRAVISIBLE, 2400. CLR_WHITE), 2401. MON("high priest", S_HUMAN, 2402. LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ), 2403. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8), 2404. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 2405. NO_ATTK, NO_ATTK), 2406. SIZ(WT_HUMAN, 400, sizeof(struct epri), MS_PRIEST, MZ_HUMAN), 2407. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 2408. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2409. M2_NOPOLY|M2_HUMAN|M2_MINION|M2_PRINCE|M2_NASTY|M2_COLLECT|M2_MAGIC, 2410. M3_INFRAVISIBLE, CLR_WHITE), 2411. MON("soldier", S_HUMAN, 2412. LVL(6, 4, 10, 0, -2), (G_SGROUP|G_GENO|1), 2413. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2414. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2415. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2416. M1_HUMANOID|M1_OMNIVORE, 2417. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2418. M3_INFRAVISIBLE, CLR_GRAY), 2419. MON("sergeant", S_HUMAN, 2420. LVL(8, 4, 10, 5, -3), (G_SGROUP|G_GENO|1), 2421. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), 2422. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2423. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2424. M1_HUMANOID|M1_OMNIVORE, 2425. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2426. M3_INFRAVISIBLE, CLR_RED), 2427. MON("lieutenant", S_HUMAN, 2428. LVL(10, 4, 10, 15, -4), (G_GENO|1), 2429. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), 2430. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2431. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2432. M1_HUMANOID|M1_OMNIVORE, 2433. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2434. M3_INFRAVISIBLE, CLR_GREEN), 2435. MON("captain", S_HUMAN, 2436. LVL(12, 4, 10, 15, -5), (G_GENO|1), 2437. A(ATTK(AT_WEAP, AD_PHYS, 4, 4), ATTK(AT_WEAP, AD_PHYS, 4, 4), 2438. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2439. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2440. M1_HUMANOID|M1_OMNIVORE, 2441. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_HOSTILE|M2_STRONG|M2_COLLECT, 2442. M3_INFRAVISIBLE, CLR_BLUE), 2443. /* Keep these separate - some of the mkroom code assumes that 2444. * all the soldiers are contiguous. 2445. */ 2446. MON("watchman", S_HUMAN, 2447. LVL(6, 4, 10, 0, -2), (G_SGROUP|G_NOGEN|G_GENO|1), 2448. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 2449. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2450. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2451. M1_HUMANOID|M1_OMNIVORE, 2452. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2453. M3_INFRAVISIBLE, CLR_GRAY), 2454. MON("watch captain", S_HUMAN, 2455. LVL(10, 4, 10, 15, -4), (G_NOGEN|G_GENO|1), 2456. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_WEAP, AD_PHYS, 3, 4), 2457. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2458. SIZ(WT_HUMAN, 400, 0, MS_SOLDIER, MZ_HUMAN), 0, 0, 2459. M1_HUMANOID|M1_OMNIVORE, 2460. M2_NOPOLY|M2_HUMAN|M2_MERC|M2_STALK|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 2461. M3_INFRAVISIBLE, CLR_GREEN), 2462. /* Unique humans not tied to quests. 2463. */ 2464. MON("Medusa", S_HUMAN, 2465. LVL(20, 12, 2, 50, -15), (G_NOGEN|G_UNIQ), 2466. A(ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_GAZE, AD_STON, 0, 0), 2467. ATTK(AT_BITE, AD_DRST, 1, 6), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2468. NO_ATTK, NO_ATTK), 2469. SIZ(WT_HUMAN, 400, 0, MS_HISS, MZ_LARGE), 2470. MR_POISON|MR_STONE, MR_POISON|MR_STONE, 2471. M1_FLY|M1_SWIM|M1_AMPHIBIOUS|M1_HUMANOID|M1_POIS|M1_OMNIVORE, 2472. M2_NOPOLY|M2_HOSTILE|M2_STRONG|M2_PNAME|M2_FEMALE, 2473. M3_WAITFORU|M3_INFRAVISIBLE, CLR_BRIGHT_GREEN), 2474. MON("Wizard of Yendor", S_HUMAN, 2475. LVL(30, 12, -8, 100, A_NONE), (G_NOGEN|G_UNIQ), 2476. A(ATTK(AT_CLAW, AD_SAMU, 2,12), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2477. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2478. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_HUMAN), 2479. MR_FIRE|MR_POISON, MR_FIRE|MR_POISON, 2480. M1_FLY|M1_BREATHLESS|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT| 2481. M1_TPORT_CNTRL|M1_OMNIVORE, 2482. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_NASTY| 2483. M2_PRINCE|M2_MALE|M2_MAGIC, 2484. M3_COVETOUS|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 2485. MON("Croesus", S_HUMAN, 2486. LVL(20, 15, 0, 40, 15), (G_UNIQ|G_NOGEN), 2487. A(ATTK(AT_WEAP, AD_PHYS, 4,10), 2488. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2489. SIZ(WT_HUMAN, 400, 0, MS_GUARD, MZ_HUMAN), 0, 0, 2490. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 2491. M2_NOPOLY|M2_HUMAN|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_PNAME| 2492. M2_PRINCE|M2_MALE|M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 2493. M3_INFRAVISIBLE, HI_LORD), 2494. #ifdef CHARON 2495. MON("Charon", S_HUMAN, 2496. LVL(76, 18, -5, 120, 0), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2497. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), ATTK(AT_TUCH, AD_PLYS, 1, 8), 2498. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2499. SIZ(WT_HUMAN, 400, 0, MS_FERRY, MZ_HUMAN), 2500. MR_FIRE|MR_COLD|MR_POISON|MR_STONE, 0, 2501. M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID, 2502. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_PNAME|M2_MALE|M2_GREEDY|M2_COLLECT, 2503. M3_INFRAVISIBLE, CLR_WHITE), 2504. #endif 2505. /* 2506. * ghosts 2507. */ 2508. MON("ghost", S_GHOST, 2509. LVL(10, 3, -5, 50, -5), (G_NOCORPSE|G_NOGEN), 2510. A(ATTK(AT_TUCH, AD_PHYS, 1, 1), 2511. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2512. SIZ(WT_HUMAN, 0, 0, MS_SILENT, MZ_HUMAN), 2513. MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0, 2514. M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID, 2515. M2_NOPOLY|M2_UNDEAD|M2_STALK|M2_HOSTILE, M3_INFRAVISION, CLR_GRAY), 2516. MON("shade", S_GHOST, 2517. LVL(12, 10, 10, 0, 0), (G_NOCORPSE|G_NOGEN), 2518. A(ATTK(AT_TUCH, AD_PLYS, 2, 6), ATTK(AT_TUCH, AD_SLOW, 1, 6), 2519. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2520. SIZ(WT_HUMAN, 0, 0, MS_WAIL, MZ_HUMAN), 2521. MR_COLD|MR_DISINT|MR_SLEEP|MR_POISON|MR_STONE, 0, 2522. M1_FLY|M1_BREATHLESS|M1_WALLWALK|M1_HUMANOID|M1_UNSOLID|M1_SEE_INVIS, 2523. M2_NOPOLY|M2_UNDEAD|M2_WANDER|M2_STALK|M2_HOSTILE|M2_NASTY, 2524. M3_INFRAVISION, CLR_BLACK), 2525. /* 2526. * (major) demons 2527. */ 2528. MON("water demon", S_DEMON, 2529. LVL(8, 12,-4, 30, -7), (G_NOCORPSE|G_NOGEN), 2530. A(ATTK(AT_WEAP, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2531. ATTK(AT_BITE, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK), 2532. SIZ(WT_HUMAN, 400, 0, MS_DJINNI, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2533. M1_HUMANOID|M1_POIS|M1_SWIM, 2534. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 2535. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_BLUE), 2536. /* standard demons & devils 2537. */ 2538. MON("horned devil", S_DEMON, 2539. LVL(6, 9, -5, 50, 11), (G_HELL|G_NOCORPSE|2), 2540. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2541. ATTK(AT_BITE, AD_PHYS, 2, 3), ATTK(AT_STNG, AD_PHYS, 1, 3), 2542. NO_ATTK, NO_ATTK), 2543. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2544. M1_POIS|M1_THICK_HIDE, 2545. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 2546. CLR_BROWN), 2547. #ifdef SEDUCE 2548. # define SEDUCTION_ATTACKS \ 2549. A(ATTK(AT_BITE, AD_SSEX, 0, 0), ATTK(AT_CLAW, AD_PHYS, 1, 3), \ 2550. ATTK(AT_CLAW, AD_PHYS, 1, 3), NO_ATTK, NO_ATTK, NO_ATTK) 2551. #else 2552. # define SEDUCTION_ATTACKS \ 2553. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), \ 2554. ATTK(AT_BITE, AD_DRLI, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK) 2555. #endif 2556. MON("succubus", S_DEMON, 2557. LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1), 2558. SEDUCTION_ATTACKS, 2559. SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2560. M1_HUMANOID|M1_FLY|M1_POIS, 2561. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE, 2562. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2563. MON("incubus", S_DEMON, 2564. LVL(6, 12, 0, 70, -9), (G_NOCORPSE|1), 2565. SEDUCTION_ATTACKS, 2566. SIZ(WT_HUMAN, 400, 0, MS_SEDUCE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2567. M1_HUMANOID|M1_FLY|M1_POIS, 2568. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_MALE, 2569. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2570. #undef SEDUCTION_ATTACKS 2571. /* Used by AD&D for a type of demon, originally one of the Furies */ 2572. /* and spelled this way */ 2573. MON("erinys", S_DEMON, 2574. LVL(7, 12, 2, 30, 10), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2575. A(ATTK(AT_WEAP, AD_DRST, 2, 4), 2576. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2577. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2578. M1_HUMANOID|M1_POIS, 2579. M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_FEMALE|M2_COLLECT, 2580. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2581. MON("barbed devil", S_DEMON, 2582. LVL(8, 12, 0, 35, 8), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2583. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2584. ATTK(AT_STNG, AD_PHYS, 3, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2585. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2586. M1_POIS|M1_THICK_HIDE, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2587. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2588. MON("marilith", S_DEMON, 2589. LVL(7, 12, -6, 80, -12), (G_HELL|G_NOCORPSE|1), 2590. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2591. ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4), 2592. ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_WEAP, AD_PHYS, 2, 4)), 2593. SIZ(WT_HUMAN, 400, 0, MS_CUSS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2594. M1_HUMANOID|M1_SLITHY|M1_SEE_INVIS|M1_POIS, 2595. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_FEMALE|M2_COLLECT, 2596. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2597. MON("vrock", S_DEMON, 2598. LVL(8, 12, 0, 50, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2599. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2600. ATTK(AT_CLAW, AD_PHYS, 1, 8), ATTK(AT_CLAW, AD_PHYS, 1, 8), 2601. ATTK(AT_BITE, AD_PHYS, 1, 6), NO_ATTK), 2602. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2603. M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2604. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2605. MON("hezrou", S_DEMON, 2606. LVL(9, 6, -2, 55, -10), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2607. A(ATTK(AT_CLAW, AD_PHYS, 1, 3), ATTK(AT_CLAW, AD_PHYS, 1, 3), 2608. ATTK(AT_BITE, AD_PHYS, 4, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2609. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2610. M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2611. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2612. MON("bone devil", S_DEMON, 2613. LVL(9, 15, -1, 40, -9), (G_HELL|G_NOCORPSE|G_SGROUP|2), 2614. A(ATTK(AT_WEAP, AD_PHYS, 3, 4), ATTK(AT_STNG, AD_DRST, 2, 4), 2615. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2616. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2617. M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 2618. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2619. MON("ice devil", S_DEMON, 2620. LVL(11, 6, -4, 55, -12), (G_HELL|G_NOCORPSE|2), 2621. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2622. ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_STNG, AD_COLD, 3, 4), 2623. NO_ATTK, NO_ATTK), 2624. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 2625. MR_FIRE|MR_COLD|MR_POISON, 0, M1_SEE_INVIS|M1_POIS, 2626. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, M3_INFRAVISIBLE|M3_INFRAVISION, 2627. CLR_WHITE), 2628. MON("nalfeshnee", S_DEMON, 2629. LVL(11, 9, -1, 65, -11), (G_HELL|G_NOCORPSE|1), 2630. A(ATTK(AT_CLAW, AD_PHYS, 1, 4), ATTK(AT_CLAW, AD_PHYS, 1, 4), 2631. ATTK(AT_BITE, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_SPEL, 0, 0), 2632. NO_ATTK, NO_ATTK), 2633. SIZ(WT_HUMAN, 400, 0, MS_SPELL, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2634. M1_HUMANOID|M1_POIS, M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY, 2635. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2636. MON("pit fiend", S_DEMON, 2637. LVL(13, 6, -3, 65, -13), (G_HELL|G_NOCORPSE|2), 2638. A(ATTK(AT_WEAP, AD_PHYS, 4, 2), ATTK(AT_WEAP, AD_PHYS, 4, 2), 2639. ATTK(AT_HUGS, AD_PHYS, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2640. SIZ(WT_HUMAN, 400, 0, MS_GROWL, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2641. M1_SEE_INVIS|M1_POIS, 2642. M2_DEMON|M2_STALK|M2_HOSTILE|M2_NASTY|M2_COLLECT, 2643. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2644. MON("balrog", S_DEMON, 2645. LVL(16, 5, -2, 75, -14), (G_HELL|G_NOCORPSE|1), 2646. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 2647. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2648. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2649. M1_FLY|M1_SEE_INVIS|M1_POIS, 2650. M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 2651. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_RED), 2652. /* Named demon lords & princes plus Arch-Devils. 2653. * (their order matters; see minion.c) 2654. */ 2655. MON("Juiblex", S_DEMON, 2656. LVL(50, 3, -7, 65, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2657. A(ATTK(AT_ENGL, AD_DISE, 4,10), ATTK(AT_SPIT, AD_ACID, 3, 6), 2658. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2659. SIZ(1500, 0, 0, MS_GURGLE, MZ_LARGE), 2660. MR_FIRE|MR_POISON|MR_ACID|MR_STONE, 0, 2661. M1_AMPHIBIOUS|M1_AMORPHOUS|M1_NOHEAD|M1_FLY|M1_SEE_INVIS|M1_ACID| 2662. M1_POIS, 2663. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD| 2664. M2_MALE, 2665. M3_WAITFORU|M3_WANTSAMUL|M3_INFRAVISION, CLR_BRIGHT_GREEN), 2666. MON("Yeenoghu", S_DEMON, 2667. LVL(56, 18, -5, 80, -15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2668. A(ATTK(AT_WEAP, AD_PHYS, 3, 6), ATTK(AT_WEAP, AD_CONF, 2, 8), 2669. ATTK(AT_WEAP, AD_PLYS, 1, 6), ATTK(AT_MAGC, AD_MAGM, 2, 6), 2670. NO_ATTK, NO_ATTK), 2671. SIZ(900, 500, 0, MS_ORC, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2672. M1_FLY|M1_SEE_INVIS|M1_POIS, 2673. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_LORD| 2674. M2_MALE|M2_COLLECT, 2675. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2676. MON("Orcus", S_DEMON, 2677. LVL(66, 9, -6, 85, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2678. A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_WEAP, AD_PHYS, 3, 6), 2679. ATTK(AT_CLAW, AD_PHYS, 3, 4), ATTK(AT_CLAW, AD_PHYS, 3, 4), 2680. ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK), 2681. SIZ(1500, 500, 0, MS_ORC, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2682. M1_FLY|M1_SEE_INVIS|M1_POIS, 2683. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY|M2_PRINCE| 2684. M2_MALE|M2_COLLECT, 2685. M3_WAITFORU|M3_WANTSBOOK|M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, 2686. HI_LORD), 2687. MON("Geryon", S_DEMON, 2688. LVL(72, 3, -3, 75, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2689. A(ATTK(AT_CLAW, AD_PHYS, 3, 6), ATTK(AT_CLAW, AD_PHYS, 3, 6), 2690. ATTK(AT_STNG, AD_DRST, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 2691. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2692. M1_FLY|M1_SEE_INVIS|M1_POIS|M1_SLITHY, 2693. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2694. M2_PRINCE|M2_MALE, 2695. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2696. MON("Dispater", S_DEMON, 2697. LVL(78, 15, -2, 80, 15), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2698. A(ATTK(AT_WEAP, AD_PHYS, 4, 6), ATTK(AT_MAGC, AD_SPEL, 6, 6), 2699. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2700. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUMAN), MR_FIRE|MR_POISON, 0, 2701. M1_FLY|M1_SEE_INVIS|M1_POIS|M1_HUMANOID, 2702. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2703. M2_PRINCE|M2_MALE|M2_COLLECT, 2704. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2705. MON("Baalzebub", S_DEMON, 2706. LVL(89, 9, -5, 85, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2707. A(ATTK(AT_BITE, AD_DRST, 2, 6), ATTK(AT_GAZE, AD_STUN, 2, 6), 2708. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2709. SIZ(1500, 500, 0, MS_BRIBE, MZ_LARGE), MR_FIRE|MR_POISON, 0, 2710. M1_FLY|M1_SEE_INVIS|M1_POIS, 2711. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2712. M2_PRINCE|M2_MALE, 2713. M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2714. MON("Asmodeus", S_DEMON, 2715. LVL(105, 12, -7, 90, 20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2716. A(ATTK(AT_CLAW, AD_PHYS, 4, 4), ATTK(AT_MAGC, AD_COLD, 6, 6), 2717. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2718. SIZ(1500, 500, 0, MS_BRIBE, MZ_HUGE), MR_FIRE|MR_COLD|MR_POISON, 0, 2719. M1_FLY|M1_SEE_INVIS|M1_HUMANOID|M1_POIS, 2720. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG| 2721. M2_NASTY|M2_PRINCE|M2_MALE, 2722. M3_WANTSAMUL|M3_WAITFORU|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2723. MON("Demogorgon", S_DEMON, 2724. LVL(106, 15, -8, 95, -20), (G_HELL|G_NOCORPSE|G_NOGEN|G_UNIQ), 2725. A(ATTK(AT_MAGC, AD_SPEL, 8, 6), ATTK(AT_STNG, AD_DRLI, 1, 4), 2726. ATTK(AT_CLAW, AD_DISE, 1, 6), ATTK(AT_CLAW, AD_DISE, 1, 6), 2727. NO_ATTK, NO_ATTK), 2728. SIZ(1500, 500, 0, MS_GROWL, MZ_HUGE), MR_FIRE|MR_POISON, 0, 2729. M1_FLY|M1_SEE_INVIS|M1_NOHANDS|M1_POIS, 2730. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_PNAME|M2_NASTY| 2731. M2_PRINCE|M2_MALE, 2732. M3_WANTSAMUL|M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2733. /* Riders -- the Four Horsemen of the Apocalypse ("War" player) 2734. */ 2735. MON("Death", S_DEMON, 2736. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2737. A(ATTK(AT_TUCH, AD_DETH, 8, 8), ATTK(AT_TUCH, AD_DETH, 8, 8), 2738. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2739. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2740. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2741. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2742. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2743. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2744. MON("Pestilence", S_DEMON, 2745. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2746. A(ATTK(AT_TUCH, AD_PEST, 8, 8), ATTK(AT_TUCH, AD_PEST, 8, 8), 2747. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2748. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2749. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2750. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2751. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2752. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2753. MON("Famine", S_DEMON, 2754. LVL(30, 12, -5, 100, 0), (G_UNIQ|G_NOGEN), 2755. A(ATTK(AT_TUCH, AD_FAMN, 8, 8), ATTK(AT_TUCH, AD_FAMN, 8, 8), 2756. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2757. SIZ(WT_HUMAN, 1, 0, MS_RIDER, MZ_HUMAN), 2758. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2759. M1_FLY|M1_HUMANOID|M1_REGEN|M1_SEE_INVIS|M1_TPORT_CNTRL, 2760. M2_NOPOLY|M2_STALK|M2_HOSTILE|M2_PNAME|M2_STRONG|M2_NASTY, 2761. M3_INFRAVISIBLE|M3_INFRAVISION, HI_LORD), 2762. /* other demons 2763. */ 2764. #ifdef MAIL 2765. MON("mail daemon", S_DEMON, 2766. LVL(56, 24, 10, 127, 0), (G_NOGEN|G_NOCORPSE), 2767. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2768. SIZ(600, 300, 0, MS_SILENT, MZ_HUMAN), 2769. MR_FIRE|MR_COLD|MR_ELEC|MR_SLEEP|MR_POISON|MR_STONE, 0, 2770. M1_FLY|M1_SWIM|M1_BREATHLESS|M1_SEE_INVIS|M1_HUMANOID|M1_POIS, 2771. M2_NOPOLY|M2_STALK|M2_PEACEFUL, M3_INFRAVISIBLE|M3_INFRAVISION, 2772. CLR_BRIGHT_BLUE), 2773. #endif 2774. MON("djinni", S_DEMON, 2775. LVL(7, 12, 4, 30, 0), (G_NOGEN|G_NOCORPSE), 2776. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), 2777. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2778. SIZ(1500, 400, 0, MS_DJINNI, MZ_HUMAN), MR_POISON|MR_STONE, 0, 2779. M1_HUMANOID|M1_FLY|M1_POIS, 2780. M2_NOPOLY|M2_STALK|M2_COLLECT, M3_INFRAVISIBLE, CLR_YELLOW), 2781. MON("sandestin", S_DEMON, 2782. LVL(13, 12, 4, 60, -5), (G_HELL|G_NOCORPSE|1), 2783. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 2784. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2785. SIZ(1500, 400, 0, MS_CUSS, MZ_HUMAN), MR_STONE, 0, 2786. M1_HUMANOID, M2_NOPOLY|M2_STALK|M2_STRONG|M2_COLLECT, 2787. M3_INFRAVISIBLE|M3_INFRAVISION, CLR_GRAY), 2788. /* 2789. * sea monsters 2790. */ 2791. MON("jellyfish", S_EEL, 2792. LVL(3, 3, 6, 0, 0), (G_GENO|G_NOGEN), 2793. A(ATTK(AT_STNG, AD_DRST, 3, 3), NO_ATTK, 2794. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2795. SIZ(80, 20, 0, MS_SILENT, MZ_SMALL), MR_POISON, MR_POISON, 2796. M1_SWIM|M1_AMPHIBIOUS|M1_SLITHY|M1_NOLIMBS|M1_NOTAKE|M1_POIS, 2797. M2_HOSTILE, 0, CLR_BLUE), 2798. MON("piranha", S_EEL, 2799. LVL(5, 12, 4, 0, 0), (G_GENO|G_NOGEN|G_SGROUP), 2800. A(ATTK(AT_BITE, AD_PHYS, 2, 6), NO_ATTK, 2801. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2802. SIZ(60, 30, 0, MS_SILENT, MZ_SMALL), 0, 0, 2803. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2804. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2805. M2_HOSTILE, 0, CLR_RED), 2806. MON("shark", S_EEL, 2807. LVL(7, 12, 2, 0, 0), (G_GENO|G_NOGEN), 2808. A(ATTK(AT_BITE, AD_PHYS, 5, 6), NO_ATTK, 2809. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2810. SIZ(500, 350, 0, MS_SILENT, MZ_LARGE), 0, 0, 2811. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2812. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2813. M2_HOSTILE, 0, CLR_GRAY), 2814. MON("giant eel", S_EEL, 2815. LVL(5, 9, -1, 0, 0), (G_GENO|G_NOGEN), 2816. A(ATTK(AT_BITE, AD_PHYS, 3, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), 2817. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2818. SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), 0, 0, 2819. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2820. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2821. M2_HOSTILE, M3_INFRAVISIBLE, CLR_CYAN), 2822. MON("electric eel", S_EEL, 2823. LVL(7, 10, -3, 0, 0), (G_GENO|G_NOGEN), 2824. A(ATTK(AT_BITE, AD_ELEC, 4, 6), ATTK(AT_TUCH, AD_WRAP, 0, 0), 2825. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2826. SIZ(200, 250, 0, MS_SILENT, MZ_HUGE), MR_ELEC, MR_ELEC, 2827. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_SLITHY|M1_NOLIMBS| 2828. M1_CARNIVORE|M1_OVIPAROUS|M1_NOTAKE, 2829. M2_HOSTILE, M3_INFRAVISIBLE, CLR_BRIGHT_BLUE), 2830. MON("kraken", S_EEL, 2831. LVL(20, 3, 6, 0, -3), (G_GENO|G_NOGEN), 2832. A(ATTK(AT_CLAW, AD_PHYS, 2, 4), ATTK(AT_CLAW, AD_PHYS, 2, 4), 2833. ATTK(AT_HUGS, AD_WRAP, 2, 6), ATTK(AT_BITE, AD_PHYS, 5, 4), 2834. NO_ATTK, NO_ATTK), 2835. SIZ(1800, 1000, 0, MS_SILENT, MZ_HUGE), 0, 0, 2836. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2837. M2_NOPOLY|M2_HOSTILE|M2_STRONG, M3_INFRAVISIBLE, CLR_RED), 2838. /* 2839. * lizards, &c 2840. */ 2841. MON("newt", S_LIZARD, 2842. LVL(0, 6, 8, 0, 0), (G_GENO|5), 2843. A(ATTK(AT_BITE, AD_PHYS, 1, 2), 2844. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2845. SIZ(10, 20, 0, MS_SILENT, MZ_TINY), 0, 0, 2846. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2847. M2_HOSTILE, 0, CLR_YELLOW), 2848. MON("gecko", S_LIZARD, 2849. LVL(1, 6, 8, 0, 0), (G_GENO|5), 2850. A(ATTK(AT_BITE, AD_PHYS, 1, 3), 2851. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2852. SIZ(10, 20, 0, MS_SQEEK, MZ_TINY), 0, 0, 2853. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN), 2854. MON("iguana", S_LIZARD, 2855. LVL(2, 6, 7, 0, 0), (G_GENO|5), 2856. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 2857. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2858. SIZ(30, 30, 0, MS_SILENT, MZ_TINY), 0, 0, 2859. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_BROWN), 2860. MON("baby crocodile", S_LIZARD, 2861. LVL(3, 6, 7, 0, 0), G_GENO, 2862. A(ATTK(AT_BITE, AD_PHYS, 1, 4), 2863. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2864. SIZ(200, 200, 0, MS_SILENT, MZ_MEDIUM), 0, 0, 2865. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, 2866. M2_HOSTILE, 0, CLR_BROWN), 2867. MON("lizard", S_LIZARD, 2868. LVL(5, 6, 6, 10, 0), (G_GENO|5), 2869. A(ATTK(AT_BITE, AD_PHYS, 1, 6), 2870. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2871. SIZ(10, 40, 0, MS_SILENT, MZ_TINY), MR_STONE, MR_STONE, 2872. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_HOSTILE, 0, CLR_GREEN), 2873. MON("chameleon", S_LIZARD, 2874. LVL(6, 5, 6, 10, 0), (G_GENO|2), 2875. A(ATTK(AT_BITE, AD_PHYS, 4, 2), 2876. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2877. SIZ(100, 100, 0, MS_SILENT, MZ_TINY), 0, 0, 2878. M1_ANIMAL|M1_NOHANDS|M1_CARNIVORE, M2_NOPOLY|M2_HOSTILE, 0, CLR_BROWN), 2879. MON("crocodile", S_LIZARD, 2880. LVL(6, 9, 5, 0, 0), (G_GENO|1), 2881. A(ATTK(AT_BITE, AD_PHYS, 4, 2), ATTK(AT_CLAW, AD_PHYS, 1,12), 2882. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2883. SIZ(WT_HUMAN, 400, 0, MS_SILENT, MZ_LARGE), 0, 0, 2884. M1_SWIM|M1_AMPHIBIOUS|M1_ANIMAL|M1_THICK_HIDE|M1_NOHANDS| 2885. M1_OVIPAROUS|M1_CARNIVORE, 2886. M2_STRONG|M2_HOSTILE, 0, CLR_BROWN), 2887. MON("salamander", S_LIZARD, 2888. LVL(8, 12, -1, 0, -9), (G_HELL|1), 2889. A(ATTK(AT_WEAP, AD_PHYS, 2, 8), ATTK(AT_TUCH, AD_FIRE, 1, 6), 2890. ATTK(AT_HUGS, AD_PHYS, 2, 6), ATTK(AT_HUGS, AD_FIRE, 3, 6), 2891. NO_ATTK, NO_ATTK), 2892. SIZ(1500, 400, 0, MS_MUMBLE, MZ_HUMAN), MR_SLEEP|MR_FIRE, MR_FIRE, 2893. M1_HUMANOID|M1_SLITHY|M1_THICK_HIDE|M1_POIS, 2894. M2_STALK|M2_HOSTILE|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, CLR_ORANGE), 2895. 2896. /* 2897. * dummy monster needed for visual interface 2898. */ 2899. /* (marking it unique prevents figurines) 2900. */ 2901. MON("long worm tail", S_WORM_TAIL, 2902. LVL(0, 0, 0, 0, 0), (G_NOGEN|G_NOCORPSE|G_UNIQ), 2903. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2904. SIZ(0, 0, 0, 0, 0), 0, 0, 0L, M2_NOPOLY, 0, CLR_BROWN), 2905. 2906. /* Note: 2907. * Worm tail must be between the normal monsters and the special 2908. * quest & pseudo-character ones because an optimization in the 2909. * random monster selection code assumes everything beyond here 2910. * has the G_NOGEN and M2_NOPOLY attributes. 2911. */ 2912. 2913. /* 2914. * character classes 2915. */ 2916. MON("archeologist", S_HUMAN, 2917. LVL(10, 10, 10, 1, 3), G_NOGEN, 2918. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2919. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2920. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2921. M1_HUMANOID|M1_TUNNEL|M1_NEEDPICK|M1_OMNIVORE, 2922. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2923. MON("barbarian", S_HUMAN, 2924. LVL(10, 10, 10, 1, 0), G_NOGEN, 2925. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2926. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2927. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 2928. M1_HUMANOID|M1_OMNIVORE, 2929. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2930. MON("caveman", S_HUMAN, 2931. LVL(10, 10, 10, 0, 1), G_NOGEN, 2932. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2933. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2934. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2935. M1_HUMANOID|M1_OMNIVORE, 2936. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE, 2937. HI_DOMESTIC), 2938. MON("cavewoman", S_HUMAN, 2939. LVL(10, 10, 10, 0, 1), G_NOGEN, 2940. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 2941. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2942. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2943. M1_HUMANOID|M1_OMNIVORE, 2944. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 2945. HI_DOMESTIC), 2946. MON("healer", S_HUMAN, 2947. LVL(10, 10, 10, 1, 0), G_NOGEN, 2948. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2949. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2950. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_POISON, 0, 2951. M1_HUMANOID|M1_OMNIVORE, 2952. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2953. MON("knight", S_HUMAN, 2954. LVL(10, 10, 10, 1, 3), G_NOGEN, 2955. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2956. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2957. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2958. M1_HUMANOID|M1_OMNIVORE, 2959. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 2960. MON("monk", S_HUMAN, 2961. LVL(10, 10, 10, 2, 0), G_NOGEN, 2962. A(ATTK(AT_KICK, AD_PHYS, 1, 8), 2963. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2964. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2965. M1_HUMANOID|M1_OMNIVORE, 2966. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MALE, 2967. M3_INFRAVISIBLE, HI_DOMESTIC), 2968. MON("priest", S_HUMAN, 2969. LVL(10, 10, 10, 2, 0), G_NOGEN, 2970. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2971. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2972. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2973. M1_HUMANOID|M1_OMNIVORE, 2974. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_MALE|M2_COLLECT, M3_INFRAVISIBLE, 2975. HI_DOMESTIC), 2976. MON("priestess", S_HUMAN, 2977. LVL(10, 10, 10, 2, 0), G_NOGEN, 2978. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2979. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2980. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2981. M1_HUMANOID|M1_OMNIVORE, 2982. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 2983. HI_DOMESTIC), 2984. MON("ranger", S_HUMAN, 2985. LVL(10, 12, 10, 2, -3), G_NOGEN, 2986. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 2987. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2988. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2989. M1_HUMANOID|M1_OMNIVORE, 2990. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 2991. HI_DOMESTIC), 2992. MON("rogue", S_HUMAN, 2993. LVL(10, 10, 10, 1, -3), G_NOGEN, 2994. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 2995. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 2996. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 2997. M1_HUMANOID|M1_OMNIVORE, 2998. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_GREEDY|M2_JEWELS|M2_COLLECT, 2999. M3_INFRAVISIBLE, HI_DOMESTIC), 3000. MON("samurai", S_HUMAN, 3001. LVL(10, 10, 10, 1, 3), G_NOGEN, 3002. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3003. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3004. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3005. M1_HUMANOID|M1_OMNIVORE, 3006. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 3007. #ifdef TOURIST 3008. MON("tourist", S_HUMAN, 3009. LVL(10, 10, 10, 1, 0), G_NOGEN, 3010. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3011. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3012. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3013. M1_HUMANOID|M1_OMNIVORE, 3014. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, HI_DOMESTIC), 3015. #endif 3016. MON("valkyrie", S_HUMAN, 3017. LVL(10, 10, 10, 1, -1), G_NOGEN, 3018. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3019. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3020. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), MR_COLD, 0, 3021. M1_HUMANOID|M1_OMNIVORE, 3022. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_FEMALE|M2_COLLECT, M3_INFRAVISIBLE, 3023. HI_DOMESTIC), 3024. MON("wizard", S_HUMAN, 3025. LVL(10, 10, 10, 3, 0), G_NOGEN, 3026. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3027. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3028. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3029. M1_HUMANOID|M1_OMNIVORE, 3030. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_COLLECT|M2_MAGIC, M3_INFRAVISIBLE, 3031. HI_DOMESTIC), 3032. /* 3033. * quest leaders 3034. */ 3035. MON("Lord Carnarvon", S_HUMAN, 3036. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 3037. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3038. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3039. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3040. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 3041. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3042. M2_COLLECT|M2_MAGIC, 3043. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3044. MON("Pelias", S_HUMAN, 3045. LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ), 3046. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3047. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3048. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0, 3049. M1_HUMANOID|M1_OMNIVORE, 3050. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3051. M2_COLLECT|M2_MAGIC, 3052. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3053. MON("Shaman Karnov", S_HUMAN, 3054. LVL(20, 12, 0, 30, 20), (G_NOGEN|G_UNIQ), 3055. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 3056. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3057. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3058. M1_HUMANOID|M1_OMNIVORE, 3059. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3060. M2_COLLECT|M2_MAGIC, 3061. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3062. #if 0 /* OBSOLETE */ 3063. /* Two for elves - one of each sex. 3064. */ 3065. MON("Earendil", S_HUMAN, 3066. LVL(20, 15, 0, 50, -20), (G_NOGEN|G_UNIQ), 3067. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3068. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3069. SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 3070. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3071. M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| 3072. M2_MALE|M2_COLLECT|M2_MAGIC, 3073. M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3074. MON("Elwing", S_HUMAN, 3075. LVL(20, 15, 0, 50, -20), (G_NOGEN|G_UNIQ), 3076. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3077. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3078. SIZ(WT_ELF, 350, 0, MS_LEADER, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 3079. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3080. M2_NOPOLY|M2_ELF|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG| 3081. M2_FEMALE|M2_COLLECT|M2_MAGIC, 3082. M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3083. #endif 3084. MON("Hippocrates", S_HUMAN, 3085. LVL(20, 12, 0, 40, 0), (G_NOGEN|G_UNIQ), 3086. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3087. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3088. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_POISON, 0, 3089. M1_HUMANOID|M1_OMNIVORE, 3090. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3091. M2_COLLECT|M2_MAGIC, 3092. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3093. MON("King Arthur", S_HUMAN, 3094. LVL(20, 12, 0, 40, 20), (G_NOGEN|G_UNIQ), 3095. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3096. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3097. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3098. M1_HUMANOID|M1_OMNIVORE, 3099. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3100. M2_COLLECT|M2_MAGIC, 3101. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3102. MON("Grand Master", S_HUMAN, 3103. LVL(25, 15, 0, 70, 0), (G_NOGEN|G_UNIQ), 3104. A(ATTK(AT_CLAW, AD_PHYS, 4, 10), ATTK(AT_KICK, AD_PHYS, 2, 8), 3105. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 3106. NO_ATTK, NO_ATTK), 3107. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 3108. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 3109. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3110. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_NASTY|M2_MAGIC, 3111. M3_CLOSE|M3_INFRAVISIBLE, CLR_BLACK), 3112. MON("Arch Priest", S_HUMAN, 3113. LVL(25, 15, 7, 70, 0), (G_NOGEN|G_UNIQ), 3114. A(ATTK(AT_WEAP, AD_PHYS, 4,10), ATTK(AT_KICK, AD_PHYS, 2, 8), 3115. ATTK(AT_MAGC, AD_CLRC, 2, 8), ATTK(AT_MAGC, AD_CLRC, 2, 8), 3116. NO_ATTK, NO_ATTK), 3117. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 3118. MR_FIRE|MR_ELEC|MR_SLEEP|MR_POISON, 0, 3119. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3120. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 3121. M3_CLOSE|M3_INFRAVISIBLE, CLR_WHITE), 3122. MON("Orion", S_HUMAN, 3123. LVL(20, 12, 0, 30, 0), (G_NOGEN|G_UNIQ), 3124. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3125. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3126. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3127. M1_HUMANOID|M1_OMNIVORE|M1_SEE_INVIS|M1_SWIM|M1_AMPHIBIOUS, 3128. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3129. M2_COLLECT|M2_MAGIC, 3130. M3_CLOSE|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3131. /* Note: Master of Thieves is also the Tourist's nemesis. 3132. */ 3133. MON("Master of Thieves", S_HUMAN, 3134. LVL(20, 15, 0, 30, -20), (G_NOGEN|G_UNIQ), 3135. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 3136. ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK, NO_ATTK, NO_ATTK), 3137. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3138. M1_HUMANOID|M1_OMNIVORE, 3139. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_MALE|M2_GREEDY| 3140. M2_JEWELS|M2_COLLECT|M2_MAGIC, 3141. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3142. MON("Lord Sato", S_HUMAN, 3143. LVL(20, 15, 0, 30, 20), (G_NOGEN|G_UNIQ), 3144. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3145. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3146. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3147. M1_HUMANOID|M1_OMNIVORE, 3148. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3149. M2_COLLECT|M2_MAGIC, 3150. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3151. #ifdef TOURIST 3152. MON("Twoflower", S_HUMAN, 3153. LVL(20, 10, 10, 20, 0), (G_NOGEN|G_UNIQ), 3154. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3155. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3156. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3157. M1_HUMANOID|M1_OMNIVORE, 3158. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_PEACEFUL|M2_STRONG|M2_MALE| 3159. M2_COLLECT|M2_MAGIC, 3160. M3_CLOSE|M3_INFRAVISIBLE, HI_DOMESTIC), 3161. #endif 3162. MON("Norn", S_HUMAN, 3163. LVL(20, 15, 0, 80, 0), (G_NOGEN|G_UNIQ), 3164. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3165. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3166. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), MR_COLD, 0, 3167. M1_HUMANOID|M1_OMNIVORE, 3168. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_FEMALE| 3169. M2_COLLECT|M2_MAGIC, 3170. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3171. MON("Wizard of Balance", S_HUMAN, 3172. LVL(20, 12, 0, 60, 0), (G_NOGEN|G_UNIQ), 3173. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3174. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3175. SIZ(WT_HUMAN, 400, 0, MS_LEADER, MZ_HUMAN), 0, 0, 3176. M1_HUMANOID|M1_OMNIVORE, 3177. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 3178. M3_CLOSE|M3_INFRAVISIBLE, HI_LORD), 3179. /* 3180. * quest nemeses 3181. */ 3182. MON("Minion of Huhetotl", S_DEMON, 3183. LVL(16, 10, -2, 75, -14), (G_NOCORPSE|G_NOGEN|G_UNIQ), 3184. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 3185. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), 3186. NO_ATTK, NO_ATTK), 3187. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 3188. M1_FLY|M1_SEE_INVIS|M1_POIS, 3189. M2_NOPOLY|M2_DEMON|M2_STALK|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_COLLECT, 3190. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED), 3191. MON("Thoth Amon", S_HUMAN, 3192. LVL(16, 10, 0, 10, -14), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3193. A(ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3194. ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_SAMU, 1, 4), 3195. NO_ATTK, NO_ATTK), 3196. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, 0, 3197. M1_HUMANOID|M1_OMNIVORE, 3198. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_STRONG|M2_MALE|M2_STALK|M2_HOSTILE| 3199. M2_NASTY|M2_COLLECT|M2_MAGIC, 3200. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3201. /* Multi-headed, possessing the breath attacks of all the other dragons 3202. * (selected at random when attacking). 3203. */ 3204. MON("Chromatic Dragon", S_DRAGON, 3205. LVL(16, 10, 0, 30, -14), (G_NOGEN|G_UNIQ), 3206. A(ATTK(AT_BREA, AD_RBRE, 6, 8), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3207. ATTK(AT_CLAW, AD_SAMU, 2, 8), ATTK(AT_BITE, AD_PHYS, 4, 8), 3208. ATTK(AT_BITE, AD_PHYS, 4, 8), ATTK(AT_STNG, AD_PHYS, 1, 6)), 3209. SIZ(WT_DRAGON, 1700, 0, MS_NEMESIS, MZ_GIGANTIC), 3210. MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_ACID|MR_STONE, 3211. MR_FIRE|MR_COLD|MR_SLEEP|MR_DISINT|MR_ELEC|MR_POISON|MR_STONE, 3212. M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS|M1_POIS, 3213. M2_NOPOLY|M2_HOSTILE|M2_FEMALE|M2_STALK|M2_STRONG|M2_NASTY| 3214. M2_GREEDY|M2_JEWELS|M2_MAGIC, 3215. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3216. #if 0 /* OBSOLETE */ 3217. MON("Goblin King", S_ORC, 3218. LVL(15, 10, 10, 0, -15), (G_NOGEN|G_UNIQ), 3219. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 3220. ATTK(AT_CLAW, AD_SAMU, 1, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3221. SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3222. M1_HUMANOID|M1_OMNIVORE, 3223. M2_NOPOLY|M2_ORC|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY|M2_MALE| 3224. M2_GREEDY|M2_JEWELS|M2_COLLECT|M2_MAGIC, 3225. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3226. #endif 3227. MON("Cyclops", S_GIANT, 3228. LVL(18, 10, 0, 0, -15), (G_NOGEN|G_UNIQ), 3229. A(ATTK(AT_WEAP, AD_PHYS, 4, 8), ATTK(AT_WEAP, AD_PHYS, 4, 8), 3230. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3231. SIZ(1900, 700, 0, MS_NEMESIS, MZ_HUGE), 0, 0, 3232. M1_HUMANOID|M1_OMNIVORE, 3233. M2_NOPOLY|M2_GIANT|M2_STRONG|M2_ROCKTHROW|M2_STALK|M2_HOSTILE| 3234. M2_NASTY|M2_MALE|M2_JEWELS|M2_COLLECT, 3235. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_GRAY), 3236. MON("Ixoth", S_DRAGON, 3237. LVL(15, 9, -1, 20, -14), (G_NOGEN|G_UNIQ), 3238. A(ATTK(AT_BREA, AD_FIRE, 8, 6), ATTK(AT_BITE, AD_PHYS, 4, 8), 3239. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_PHYS, 2, 4), 3240. ATTK(AT_CLAW, AD_SAMU, 2, 4), NO_ATTK ), 3241. SIZ(WT_DRAGON, 1600, 0, MS_NEMESIS, MZ_GIGANTIC), MR_FIRE, MR_FIRE, 3242. M1_FLY|M1_THICK_HIDE|M1_NOHANDS|M1_CARNIVORE|M1_SEE_INVIS, 3243. M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY|M2_STALK| 3244. M2_GREEDY|M2_JEWELS|M2_MAGIC, 3245. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_RED), 3246. MON("Master Kaen", S_HUMAN, 3247. LVL(25, 10, -10, 10, -20), (G_NOGEN|G_UNIQ), 3248. A(ATTK(AT_CLAW, AD_PHYS, 16, 2), ATTK(AT_CLAW, AD_PHYS, 16, 2), 3249. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 1, 4), 3250. NO_ATTK, NO_ATTK), 3251. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, MR_POISON, 3252. M1_HUMANOID|M1_HERBIVORE|M1_SEE_INVIS, 3253. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_NASTY| 3254. M2_STALK|M2_COLLECT|M2_MAGIC, 3255. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3256. MON("Nalzok", S_DEMON, 3257. LVL(16, 10, -2, 85, -127), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3258. A(ATTK(AT_WEAP, AD_PHYS, 8, 4), ATTK(AT_WEAP, AD_PHYS, 4, 6), 3259. ATTK(AT_MAGC, AD_SPEL, 0, 0), ATTK(AT_CLAW, AD_SAMU, 2, 6), 3260. NO_ATTK, NO_ATTK), 3261. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_LARGE), MR_FIRE|MR_POISON, 0, 3262. M1_FLY|M1_SEE_INVIS|M1_POIS, 3263. M2_NOPOLY|M2_DEMON|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| 3264. M2_NASTY|M2_COLLECT, 3265. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, CLR_RED), 3266. MON("Scorpius", S_SPIDER, 3267. LVL(15, 10, 10, 0, -15), (G_NOGEN|G_UNIQ), 3268. A(ATTK(AT_CLAW, AD_PHYS, 2, 6), ATTK(AT_CLAW, AD_SAMU, 2, 6), 3269. ATTK(AT_STNG, AD_DISE, 1, 4), NO_ATTK, NO_ATTK, NO_ATTK), 3270. SIZ(750, 350, 0, MS_NEMESIS, MZ_HUMAN), MR_POISON, MR_POISON, 3271. M1_ANIMAL|M1_NOHANDS|M1_OVIPAROUS|M1_POIS|M1_CARNIVORE, 3272. M2_NOPOLY|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK|M2_NASTY| 3273. M2_COLLECT|M2_MAGIC, 3274. M3_WANTSARTI|M3_WAITFORU, HI_LORD), 3275. MON("Master Assassin", S_HUMAN, 3276. LVL(15, 15, 0, 30, 18), (G_NOGEN|G_UNIQ), 3277. A(ATTK(AT_WEAP, AD_DRST, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 8), 3278. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3279. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3280. M1_HUMANOID|M1_OMNIVORE, 3281. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| 3282. M2_COLLECT|M2_MAGIC, 3283. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3284. /* A renegade daimyo who led a 13 year civil war against the shogun 3285. * of his time. 3286. */ 3287. MON("Ashikaga Takauji", S_HUMAN, 3288. LVL(15, 15, 0, 40, -13), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3289. A(ATTK(AT_WEAP, AD_PHYS, 2, 6), ATTK(AT_WEAP, AD_PHYS, 2, 6), 3290. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3291. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3292. M1_HUMANOID|M1_OMNIVORE, 3293. M2_NOPOLY|M2_HUMAN|M2_PNAME|M2_HOSTILE|M2_STRONG|M2_STALK| 3294. M2_NASTY|M2_MALE|M2_COLLECT|M2_MAGIC, 3295. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, HI_LORD), 3296. #ifdef TOURIST 3297. /* 3298. * Note: the Master of Thieves was defined above. 3299. */ 3300. #endif 3301. MON("Lord Surtur", S_GIANT, 3302. LVL(15, 12, 2, 50, 12), (G_NOGEN|G_UNIQ), 3303. A(ATTK(AT_WEAP, AD_PHYS, 2,10), ATTK(AT_WEAP, AD_PHYS, 2,10), 3304. ATTK(AT_CLAW, AD_SAMU, 2, 6), NO_ATTK, NO_ATTK, NO_ATTK), 3305. SIZ(2250, 850, 0, MS_NEMESIS, MZ_HUGE), MR_FIRE, MR_FIRE, 3306. M1_HUMANOID|M1_OMNIVORE, 3307. M2_NOPOLY|M2_GIANT|M2_MALE|M2_PNAME|M2_HOSTILE|M2_STALK| 3308. M2_STRONG|M2_NASTY|M2_ROCKTHROW|M2_JEWELS|M2_COLLECT, 3309. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISION|M3_INFRAVISIBLE, HI_LORD), 3310. MON("Dark One", S_HUMAN, 3311. LVL(15, 10, 0, 80, -10), (G_NOGEN|G_UNIQ|G_NOCORPSE), 3312. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3313. ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_CLAW, AD_SAMU, 1, 4), 3314. NO_ATTK, NO_ATTK), 3315. SIZ(WT_HUMAN, 400, 0, MS_NEMESIS, MZ_HUMAN), 0, 0, 3316. M1_HUMANOID|M1_OMNIVORE, 3317. M2_NOPOLY|M2_HUMAN|M2_STRONG|M2_HOSTILE|M2_STALK|M2_NASTY| 3318. M2_COLLECT|M2_MAGIC, 3319. M3_WANTSARTI|M3_WAITFORU|M3_INFRAVISIBLE, CLR_BLACK), 3320. /* 3321. * quest "guardians" 3322. */ 3323. MON("student", S_HUMAN, 3324. LVL(5, 10, 10, 10, 3), G_NOGEN, 3325. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3326. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3327. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3328. M1_TUNNEL|M1_NEEDPICK|M1_HUMANOID|M1_OMNIVORE, 3329. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3330. HI_DOMESTIC), 3331. MON("chieftain", S_HUMAN, 3332. LVL(5, 10, 10, 10, 0), G_NOGEN, 3333. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3334. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3335. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0, 3336. M1_HUMANOID|M1_OMNIVORE, 3337. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3338. HI_DOMESTIC), 3339. MON("neanderthal", S_HUMAN, 3340. LVL(5, 10, 10, 10, 1), G_NOGEN, 3341. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), 3342. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3343. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3344. M1_HUMANOID|M1_OMNIVORE, 3345. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3346. HI_DOMESTIC), 3347. #if 0 /* OBSOLETE */ 3348. MON("High-elf", S_HUMAN, 3349. LVL(5, 12, 10, 10, -7), G_NOGEN, 3350. A(ATTK(AT_WEAP, AD_PHYS, 2, 4), ATTK(AT_MAGC, AD_CLRC, 0, 0), 3351. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3352. SIZ(WT_ELF, 350, 0, MS_GUARDIAN, MZ_HUMAN), MR_SLEEP, MR_SLEEP, 3353. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3354. M2_NOPOLY|M2_ELF|M2_PEACEFUL|M2_COLLECT, 3355. M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC), 3356. #endif 3357. MON("attendant", S_HUMAN, 3358. LVL(5, 10, 10, 10, 3), G_NOGEN, 3359. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3360. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3361. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), MR_POISON, 0, 3362. M1_HUMANOID|M1_OMNIVORE, 3363. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3364. HI_DOMESTIC), 3365. MON("page", S_HUMAN, 3366. LVL(5, 10, 10, 10, 3), G_NOGEN, 3367. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3368. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3369. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3370. M1_HUMANOID|M1_OMNIVORE, 3371. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3372. HI_DOMESTIC), 3373. MON("abbot", S_HUMAN, 3374. LVL(5, 10, 10, 20, 0), G_NOGEN, 3375. A(ATTK(AT_CLAW, AD_PHYS, 8, 2), ATTK(AT_KICK, AD_STUN, 3, 2), 3376. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3377. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3378. M1_HUMANOID|M1_OMNIVORE, 3379. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3380. HI_DOMESTIC), 3381. MON("acolyte", S_HUMAN, 3382. LVL(5, 10, 10, 20, 0), G_NOGEN, 3383. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_CLRC, 0, 0), 3384. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3385. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3386. M1_HUMANOID|M1_OMNIVORE, 3387. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3388. HI_DOMESTIC), 3389. MON("hunter", S_HUMAN, 3390. LVL(5, 12, 10, 10, -7), G_NOGEN, 3391. A(ATTK(AT_WEAP, AD_PHYS, 1, 4), 3392. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3393. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3394. M1_HUMANOID|M1_SEE_INVIS|M1_OMNIVORE, 3395. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, 3396. M3_INFRAVISION|M3_INFRAVISIBLE, HI_DOMESTIC), 3397. MON("thug", S_HUMAN, 3398. LVL(5, 10, 10, 10, -3), G_NOGEN, 3399. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), 3400. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3401. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3402. M1_HUMANOID|M1_OMNIVORE, 3403. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_GREEDY|M2_COLLECT, 3404. M3_INFRAVISIBLE, HI_DOMESTIC), 3405. MON("ninja", S_HUMAN, 3406. LVL(5, 10, 10, 10, 3), G_NOGEN, 3407. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3408. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3409. SIZ(WT_HUMAN, 400, 0, MS_HUMANOID, MZ_HUMAN), 0, 0, 3410. M1_HUMANOID|M1_OMNIVORE, 3411. M2_NOPOLY|M2_HUMAN|M2_HOSTILE|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3412. HI_DOMESTIC), 3413. MON("roshi", S_HUMAN, 3414. LVL(5, 10, 10, 10, 3), G_NOGEN, 3415. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3416. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3417. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3418. M1_HUMANOID|M1_OMNIVORE, 3419. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3420. HI_DOMESTIC), 3421. #ifdef TOURIST 3422. MON("guide", S_HUMAN, 3423. LVL(5, 10, 10, 20, 0), G_NOGEN, 3424. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3425. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3426. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3427. M1_HUMANOID|M1_OMNIVORE, 3428. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL | M2_STRONG|M2_COLLECT|M2_MAGIC, 3429. M3_INFRAVISIBLE, HI_DOMESTIC), 3430. #endif 3431. MON("warrior", S_HUMAN, 3432. LVL(5, 10, 10, 10, -1), G_NOGEN, 3433. A(ATTK(AT_WEAP, AD_PHYS, 1, 8), 3434. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3435. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3436. M1_HUMANOID|M1_OMNIVORE, 3437. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT, M3_INFRAVISIBLE, 3438. HI_DOMESTIC), 3439. MON("apprentice", S_HUMAN, 3440. LVL(5, 10, 10, 30, 0), G_NOGEN, 3441. A(ATTK(AT_WEAP, AD_PHYS, 1, 6), ATTK(AT_MAGC, AD_SPEL, 0, 0), 3442. NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3443. SIZ(WT_HUMAN, 400, 0, MS_GUARDIAN, MZ_HUMAN), 0, 0, 3444. M1_HUMANOID|M1_OMNIVORE, 3445. M2_NOPOLY|M2_HUMAN|M2_PEACEFUL|M2_STRONG|M2_COLLECT|M2_MAGIC, 3446. M3_INFRAVISIBLE, HI_DOMESTIC), 3447. /* 3448. * array terminator 3449. */ 3450. MON("", 0, 3451. LVL(0, 0, 0, 0, 0), (0), 3452. A(NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK, NO_ATTK), 3453. SIZ(0, 0, 0, 0, 0), 0, 0, 0L, 0L, 0, 0) 3454. }; 3455. #endif /* !SPLITMON_1 */ 3456. 3457. #ifndef SPLITMON_1 3458. /* dummy routine used to force linkage */ 3459. void 3460. monst_init() 3461. { 3462. return; 3463. } 3464. #endif 3465. 3466. /*monst.c*/ monst.c